单击时删除类

时间:2013-01-27 12:22:33

标签: jquery click addclass removeclass

我在使用jquery删除类时遇到问题。

我想在点击类时添加和删除一个类,但它不起作用。为什么?

$('.class').click(function() {
    $(this).addClass("class1");
    $(this).removeClass("class");
});

隐藏功能正常(也是$(this).hide())但是之后图像更改不起作用:

$('.class').mouseenter(function() {
    jQuery(this).attr("src", 'icons/heart.png');
}).mouseleave(function() {
    jQuery(this).attr("src", 'icons/heart_disabled.png' );
});

$('.class1').mouseenter(function() {
    jQuery(this).attr("src", 'icons/heart_disabled.png');
}).mouseleave(function() {
    jQuery(this).attr("src", 'icons/heart.png' );
});

所以我认为课程没有改变。

1 个答案:

答案 0 :(得分:0)

您应该委托事件,事件处理程序绑定到元素而不是类名,这就是为什么您认为不添加/删除类的原因,请尝试以下操作:

$(document).on({
   mouseenter: function() {
      this.src = 'icons/heart.png';
   },
   mouseleave: function() {
      this.src = 'icons/heart_disabled.png';
   }
}, 'img.class');

$(document).on({
   mouseenter: function() {
      this.src = 'icons/heart_disabled.png';
   },
   mouseleave: function() {
      this.src = 'icons/heart.png';
  }
}, 'img.class1');