Jquery 为什么我的开关只在第一次工作?
我的开关都很好,但只是第一次。怎么了Jquery 为什么我的开关只在第一次工作?,jquery,toggle,Jquery,Toggle,我的开关都很好,但只是第一次。怎么了 $(".add-to-list").click(function(){ $(this).removeClass( "appear" ); $(this).addClass( "is-on-list appear" ); $(this).removeClass( "add-to-list" ); }); $(".is-on-list").click(function(){ $(this).removeCl
$(".add-to-list").click(function(){
$(this).removeClass( "appear" );
$(this).addClass( "is-on-list appear" );
$(this).removeClass( "add-to-list" );
});
$(".is-on-list").click(function(){
$(this).removeClass( "appear" );
$(this).addClass( "add-to-list appear" );
$(this).removeClass( "is-on-list" );
});
请尝试以下代码:
var选择器='按钮';
$(选择器)。在('单击',函数()上){
$(this.toggleClass('active');
});代码>
.active{color:green;}
你好
这里有
,因为您只是在初始化。单击侦听器一次,使用它。单击代码,第二次单击它将不起作用
因为代码只绑定类上的侦听器一次
如果要在动态添加的元素上有一个侦听器,请像这样使用它
$(document).on('click', '.add-to-list', function(){
$(this).removeClass( "appear" );
$(this).addClass( "is-on-list appear" );
$(this).removeClass( "add-to-list" );
});
$(document).on('click', '.is-on-list', function(){
$(this).removeClass( "appear" );
$(this).addClass( "add-to-list appear" );
$(this).removeClass( "is-on-list" );
});
你应该发布你的html代码。另外,请在此处编写绑定单击处理程序$(“.is on list”)时要实现的行为。单击()
,元素还没有类。is on list
。您需要将单击事件推迟到上级:我只想在类之间切换。在列表中。和。添加到列表中,并在类中存储动画。每次单击时都应出现此情况请参见此: