[英]jquery removeClass doesn't seem to work
虽然firstli.hasClass('selected')
可以工作并检索正确的元素。 removeClass函数似乎并未删除到该类。 当一个元素未被选中时,我也希望第一个li
也被选中。
这是jfiddle (代码在底部)
注意:当您取消选中其他选项之一时,我希望不选中“全选”。
var firstli = $('.dropdown-menu.inner li').first();
firstli.click(function(event) {
if (!firstli.hasClass('selected')) {
$('.selectpicker').selectpicker('selectAll');
}
else {
$('.selectpicker').selectpicker('deselectAll');
}
return false;
});
var alllis = $('.dropdown-menu.inner li:not(:first-child)');
alllis.click(function(event) {
if ($(this).hasClass('selected')) {
alert(firstli.hasClass('selected')); //true
firstli.removeClass('selected');
}
});
您的问题在于setSelected()
检查“全选”选项。 为了解决这个问题,我将该函数更改为以下内容:
setSelected: function (c, d) {
if (d) {
this.$menu.find("li").eq(c).addClass("selected")
} else {
this.$menu.find("li").eq(c).removeClass("selected")
this.$menu.find("li:first-child").removeClass("selected")
}
}
基本上,如果必须删除selected
类,则知道它们并未全部选中。 这可行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.