如何避免.prev()。prev()。prev()或者如何在当前的类之前查找一个类

时间:2013-01-14 21:37:36

标签: jquery

我查了整个jQuery文档,但我没有找到任何东西: 是否可以在具有特定类的当前元素之前搜索元素? 我认为这会奏效,但事实并非如此:

$(this).prev('.bar');

http://jsfiddle.net/Ejh5G/

4 个答案:

答案 0 :(得分:5)

尝试:

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

Fiddle

要解决Jan的观点,你可以这样做:

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

答案 1 :(得分:3)

使用.prevAll()

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

答案 2 :(得分:2)

试试这个

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

.prevAll() - 将使用class a

选择所有以前的元素

.first() - 确保只选择列表中的第一个元素。

答案 3 :(得分:1)

.prevUntil应该有用,

$('.d').prevUntil('.a').last().prev().css('color','red');

演示:http://jsfiddle.net/Ejh5G/3/