2012-11-16 75 views
0

我有5個連續的div。它們在頁面加載時都有1個背景。我想改變div的BG,以及之前所有相同的div。我不知道如何去說jQuery - 將鼠標懸停在目標上(相同)的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的一,二,三有一個藍色的背景。

如果我沒有

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

它只會影響到第一個上一個。任何人都可以將我指向正確的方向嗎?

回答

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/

+0

+1幹得好男人! – VIDesignz

+0

這有點不公平,我剛剛在幾天前解決這個實施評級系統。 –

+0

哈哈,一切都好! – VIDesignz

2

kmb385有正確的答案......以闡明他的回答,你可以在mouseout上取消背景設置。

FIDDLE

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