-2

我在使用 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' );
});

所以我认为班级没有改变。

4

1 回答 1

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');
于 2013-01-27T12:45:14.430 回答