需要帮助用jquery操作类

时间:2013-05-13 22:35:07

标签: javascript jquery css class

我需要有关此代码的帮助:

$(document).ready(function() {
    $(".fav").click(function() {

        $(".fav").removeClass("fav").addClass("fav_");
    });

    $(".fav_").click(function() {

       $(".fav_").removeClass("fav_").addClass("fav");
   });

});

点击.fav div后,他转换为.fav_,反之亦然。好的,但问题是: 如果您点击一次.fav课程,他会转换为.fav_。但如果再点击一次,他就不会再转换为.fav

我试过把一个var检查。例如:

  • 如果点击一次:fav=true
  • 如果点击两次:fav=false

但它不起作用。

我理解jQuery,但我的通常语言是PHP,也许是困难。

1 个答案:

答案 0 :(得分:2)

您需要在变量中保留对DOM元素的引用,并使用它。这样您就不必再次执行jQuery选择器了。

$(document).ready(function() {
  var favs = $(".fav");

  favs.click(function() {
     favs.toggleClass("fav");
     favs.toggleClass("fav_");
  });
});

您还可以使用toggleClass()方法添加/删除类。如果它使用fav进行测试,那么它应该在favfav_之间前后切换。所以不需要IF语句。

编辑:

如果要切换背景图像的显示,则不必删除fav CSS类。只需切换fav_,因为它的背景将覆盖fav,因为它在CSS源代码中较低。

$(document).ready(function(){
   $(".fav").click(function(){
     $(this).toggleClass("fav_");
   });
});