2013-01-14 26 views

回答

5

嘗試:

$('.d').prevAll('.a').css('color','red'); 

Fiddle

爲了滿足一月的時候,你可以這樣做:

$('.d').prevAll('.a').first().css('color','red'); 
+0

如果有多個'.a's?只有最後一個應該被選中,不是嗎? –

+0

@JanDvorak:足夠公平,我在那裏扔了一個'.first()'。有趣的是,'.first()'不會選擇第一個反向工作的元素,而不是第一個元素,因爲它會出現在HTML中。 –

3

使用.prevAll()

$(this).prevAll('.bar');// all elements  
$(this).prevAll('.bar').eq(0); //first element 
$(this).prevAll('.bar:last'); //last element 
+0

如果有多個'.bar',該怎麼辦?只有最後一個應該被選中,不是嗎? –

+0

@JanDvorak更新回答,好的一點 –

2

試試這個

$('.d').prevAll('.a').first().css('color','red'); 

.prevAll() - 將選擇所有以前的元素與class a

.first() - 將確保只有第一個元素列表被選中。