2016-08-25 3 views
-1

イムから呼び出されたときに怒鳴るラベルのクラスを上書きしようとして動作を停止:jqueryのaddClass方法は、クリックイベント

<label id='wishlist' class="btn btn-default btn-custom-small ">                 
    <input type="checkbox" class="searchfilter collapse" value="my_wishlist" name="my_wishlist" data-toggle="button"> My Wishlist            </label> 

私は怒鳴るのコードでそれを行うことができます

$('#wishlist').removeClass('btn-custom-small').addClass('btn-custom-small active');  

しかしsnipetsコードはクリックイベントで呼び出されるとすぐに機能しなくなります。

$("#wishlist").click(function() { 
       $('#wishlist').removeClass('btn-custom-small').addClass('btn-custom-small active'); 
      }); 
+1

なぜ同じクラスを削除して追加していますか?クリックを追加すると、ページの要素も同じですか? 'console.log($("#wishlist ")。length);' – epascarello

+0

うまく動作します:https://jsfiddle.net/czsa6akt/実際に問題を明らかにするコードがありますか? – David

+0

http://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements – epascarello

答えて

0

私はこの問題を、 ajax成功ハンドラに渡す。

success: function(data){ 
if(filters == 'my_wishlist') $('#wishlist').removeClass('btn-custom-small').addClass('btn-custom-small active');