jquery hasclass或toggleclass问题
我有一张带有jquery hasclass或toggleclass问题,jquery,Jquery,我有一张带有.myclass的表格,里面有一些ul->li->标签 当我使用addClass时,它可以工作: $(".myclass label").each(function (){ var $this = $(this); $this.on("click", function(){ $this.addClass("active"); }); });` 但是当我试图检查类是否存在时,什么都没有发生 $(".myclass label")
.myclass
的表格,里面有一些ul
->li
->标签
当我使用addClass
时,它可以工作:
$(".myclass label").each(function (){
var $this = $(this);
$this.on("click", function(){
$this.addClass("active");
});
});`
但是当我试图检查类是否存在时,什么都没有发生
$(".myclass label").each(function (){
var $this = $(this);
$this.on("click", function(){
if($this.hasClass("active"))
$this.removeClass("active");
else
$this.addClass("active");
});
});
我试图使用切换类
,但什么都没有。
我错在哪里
*编辑对不起,我忘记标签内有一个
:
<form action="" method="post" class="myClass">
<ul>
<li>
<ul>
<li class="item-1"><label><input type="checkbox">my label 1</label></li>
<li class="item-22"><label><input type="checkbox">my label 2</label></li>
<li class="item-34"><label><input type="checkbox">my label 3</label></li>
-
我的标签1
我的标签2
我的标签3
等等
问题是标签->输入生成了两次单击。工作正常->是的,正如adeneo所说,工作正常。请注意,您可以通过删除
每个
并使用切换类
来改进逻辑。您是否检查了控制台中代码中其他地方的错误?您真正想要的是什么?我们可以看到DOM吗?我想知道您的选择器和DOM是否会触发两次单击事件,并立即打开和关闭活动标志。
$('.myclass label').on('click', function (event) {
if( $(event.target).is("label") ) {
if ($(event.target).hasClass("active")) {
$(event.target).removeClass("active");
}else{
$(event.target).addClass("active");
}
}
});