之后立即具有特定节点的类的jquery选择器

之后立即具有特定节点的类的jquery选择器,jquery,jquery-selectors,Jquery,Jquery Selectors,考虑以下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> <d

考虑以下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,因此我将只获取pick me div

您需要从.b元素开始并转到它们前面的.a元素:

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

请注意,这不包括.b元素,只包括.a元素。另一方面,像.A+.b这样的选择器将匹配相同的结构,但会给您.b元素。

您需要从.b元素开始,然后到它们前面的.A元素:

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

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

我从@BoltClock偷了一半,不过我认为这是您需要的:

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

特别是如果你想让它们变成红色…

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

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

特别是如果你想把它们做成红色…

我不认为那会管用,但很好。我学到了一些东西OP想要*只有紧跟在.a和.b之后的div。@mattytomo OP想要“选择我”标记的div,就像这个答案一样for@mattytommo:那你应该问问OP了。@Mattytomo:在我看来,把你和我弄得一团糟的表达才是最有意义的。我认为这不管用,但很好。我学到了一些东西OP想要*只有紧跟在.a和.b之后的div。@mattytomo OP想要“选择我”标记的div,就像这个答案一样for@mattytommo:那你也许应该问问OP。@Mattytomo:在我看来,在这个时候,把你和我弄得一团糟才是最有意义的。