Как искать определенный селектор по всем предшествующим братьям и сестрам - PullRequest
0 голосов
/ 24 марта 2011

При обходе DOM с помощью jQuery существует простой способ узнать, сколько братьев и сестер имеют определенный класс до мой селектор?

Например, с помощью следующего HTML:

<ul>
    <li class="foo">One</li>
    <li>Two</li>
    <li>Three</li>
    <li>Four</li>
    <li class="foo">Five</li>
    <li>Six</li>
    <li class="active">Seven</li>
    <li>Eight</li>  
    <li class="foo">Eight</li>  
</ul>

из li.active, я хотел бы знать, что у меня есть 2 li (One и Five) с классом 'foo', предшествующим моему активному объекту.

Могу ли я сделать это без разбора всех братьев и сестер?и сравнивая индексы?

Я думал, что .prevAll () мог бы помочь мне, но он не нашел бы больше, чем первый встреченный брат или сестра ..

Ответы [ 2 ]

0 голосов
/ 24 марта 2011
$('.active').prevAll('.foo').length

Возвращает длину набора всех предыдущих братьев и сестер, имеющих класс foo

0 голосов
/ 24 марта 2011

.prevAll(".foo") должно быть все, что вам нужно.

$(".active").prevAll(".foo");

Пример кода на jsfiddle .

...