我想在div中选择一个单独的当前div并在jquery中更改它的背景颜色

时间:2015-04-16 16:56:30

标签: jquery css

我有这个html内容,我想在使用jquery将鼠标悬停在其中时更改当前div的颜色。

  

CSS

.content{
  background-color:#f1f1f1;
  width:100px;
  height:100px;
}
  

HTML

<div class="content">
        First
</div>
<div class="content">
        Second
</div>
<div class="content">
        Third
</div>

我尝试使用此代码,但它无效。

  

的jQuery

$(document).ready(function () {
    var color = $(".content").css("background-color");
    $(".content").hover(function () {
        $(".content").closest().css("background-color", "#F9FAF4");
    }, function () {
         $(this).closest().css("background-color", color);
    });
});

4 个答案:

答案 0 :(得分:3)

您可以将脚本缩短为简单的内容:

  $(".content").hover(function() {
      $(this).toggleClass("backGround");
  });

有一些css:

.backGround {
    background-color: #F9FAF4;
}

Here is an example

答案 1 :(得分:1)

在任何事件处理程序中,您可以通过$(this).丰富触发事件的当前对象。因此,如果您只需将$(".content").closest()更改为$(this)$(this).closest(),它就可以正常工作到$(this)

$(document).ready(function () {
    var color = $(".content").css("background-color");
    $(".content").hover(function () {
       $(this).css("background-color", "#F9FAF4");
    }, function () {
       $(this).css("background-color", color);
    });
});

以下是演示:http://jsfiddle.net/Lgd1sba4/2/

答案 2 :(得分:1)

试试这个:

$(document).ready(function () {
    var color = $(".content").css("background-color");
    $(".content").hover(function () {
        $(this).css("background-color", "#F9FAF4");
    }, function () {
         $(this).css("background-color", color);
    });
});

答案 3 :(得分:0)

您需要使用$(this)来选择当前悬停的项目,例如:

JS Fiddle Demo