我正在尝试在我的网站上构建一个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')
}
});
});
答案 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来检查元素是否匹配选择器。它不会测试元素的内部内容。