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
。您需要将单击事件推迟到上级:我只想在类之间切换。在列表中。和。添加到列表中,并在类中存储动画。每次单击时都应出现此情况请参见此: