使用jQuery单击切换.html文本

时间:2013-01-15 11:10:49

标签: javascript jquery

我正在尝试在我的网站上构建一个collase扩展功能。

我有以下内容,仅在尝试更改“展开”文本以进行折叠时切换隐藏的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')
            }
    });
});

2 个答案:

答案 0 :(得分:1)

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

$(this).parent().find(".expand").html(function(i, html) {
    return html === "Expand" ? "Collapse" : "Expand";
});

答案 1 :(得分:1)

if(togtit.html() == 'Expand'){
     togtit.html('Collapse')
} else {
     togtit.html('Expand')
}

上面应该有用。

  

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

应该使用

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