jQuery - 在悬停时定位之前(相同)的div?

时间:2012-11-16 01:04:34

标签: javascript jquery

我连续有5个div。它们在页面加载时都有1个背景。我想改变div的BG和之前所有相同的div。我不知道该怎么做

div { style="background: url(images/red)"}

<div class="myDiv">One</div>
<div class="myDiv">Two<div>
<div class="myDiv">Three</div>
<div class="myDiv">Four</div>
<div class="myDiv">Five</div>

所以当上面的div三上徘徊时,我希望div有一个,两个和三个有蓝色背景。

如果我做了

$('.myDiv').hover(function(){
    $(this).prev('.myDiv').css({...});
});

它只会影响前一个。有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:2)

这是Javascript:

$('.myDiv').hover(function(){
    $(this).prevAll('.myDiv').andSelf().css({...});
});

你的标记也有错误,第二个div没有关闭。:

<div class="myDiv">One</div>
<div class="myDiv">Two</div>
<div class="myDiv">Three</div>
<div class="myDiv">Four</div>
<div class="myDiv">Five</div>

工作示例:http://jsfiddle.net/snynL/

答案 1 :(得分:2)

kmb385有正确的答案...来阐述他的答案,你可以取消设置鼠标输出的背景。

FIDDLE

$('.myDiv').on({
    mouseover: function(){
    $(this).prevAll().andSelf().css("background", "red");
    },
    mouseout: function(){
    $('.myDiv').css("background", "");
    }
});