0

我试图在我的网站上建立一个collase expand 功能。

我有以下切换隐藏的 div 只是我试图将“展开”文本更改为折叠,然后如果再次单击,折叠>展开。

任何人都可以看到我做错了什么吗?

$('.coverage .expand').click(function(){
    $(this).parent().parent().find('.subitems').toggle('slow', function() {
        var togtit = $(this).parent().find('.expand');
        if((togtit).is('Expand')){
            togtit.html('Collapse')
        } else {
            togtit.html('Expand')
            }
    });
});
4

2 回答 2

1

问题是您.is()以错误的方式使用方法。您可以尝试以下方法:

$(this).parent().find(".expand").html(function(i, html) {
    return html === "Expand" ? "Collapse" : "Expand";
});
于 2013-01-15T11:13:27.193 回答
1
if(togtit.html() == 'Expand'){
     togtit.html('Collapse')
} else {
     togtit.html('Expand')
}

以上应该工作。

根据选择器、元素或 jQuery 对象检查当前匹配的元素集,如果这些元素中至少有一个与给定参数匹配,则返回 true。

jQuery.is应该用于检查元素是否匹配选择器。它不会测试元素的内部内容。

于 2013-01-15T11:14:07.503 回答