1

考虑以下html:

    <div class="a"> pick me 1</div>
    <div class="b"> stuff </div>
    <div class="a"> stuff </div>
    <div class="a"> stuff </div>
    <div class="a"> pick me 2</div>
    <div class="b"> stuff </div>
    <div class="a"> stuff </div>
    <div class="c"> stuff </div>
    <div class="b"> stuff </div>

我只想选择具有.a.b紧随其后的 div,所以我只会选择我的 div

4

2 回答 2

9

您需要从.b元素开始并返回到它们之前的.a元素:

$('.b').prev('.a');

jsFiddle 演示

请注意,这不包括.b元素,仅包括.a元素。.a + .b另一方面,类似 的选择器会匹配相同的结构,但会为您提供.b元素。

于 2013-06-04T13:52:40.460 回答
1

我从@BoltClock 偷了一半,但我认为这是你需要的:

$('div + .b + .a').prev().prev().css('color', 'red');

特别是如果你想让它们变红......

于 2013-06-04T14:20:04.320 回答