如何通过所有前面的兄弟姐妹搜索特定的选择器

时间:2011-03-24 14:35:01

标签: jquery jquery-traversing

当使用jQuery遍历DOM时,是否有一种简单的方法可以知道有多少兄弟姐妹在选择之前有一个特定的类

例如,使用以下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(一和五),我的活动对象前面有'foo'类。

    我可以在不解析所有兄弟姐妹并比较索引的情况下这样做吗?

    我认为.prevAll()可以帮助我,但它找不到比第一个兄弟遇到的更多......

  • 2 个答案:

    答案 0 :(得分:0)

    .prevAll(".foo")应该就是您需要的一切。

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

    jsfiddle上的代码示例。

    答案 1 :(得分:0)

    $('.active').prevAll('.foo').length
    

    这将返回一组具有foo

    类的所有先前兄弟的长度