jquery选择元素的某些"级别"?

DA.*_*DA. 7 jquery css-selectors

说我有以下标记:

<div>
    <h3><a href="">link I want to select</a></h3>
        <div>
             <h3><a href="">link</a></h3>
        </div>
    <h3><a href="">link I want to select</a></h3>
    <h3><a href="">link I want to select</a></h3>
    <a href="">link</a>
</div>
Run Code Online (Sandbox Code Playgroud)

假设以下......

  • 我想要找到的元素都处于相同的嵌套级别
  • 我可能不知道具体的嵌套元素是什么(所以不能使用特定的选择器)

...是否有一种聪明的方法来选择'第一个锚标记,以及嵌套在同一级别的所有其他锚标记',以便它返回第1,第3和第4个链接?

更糟糕的情况是,我们需要进入并只添加特定的类到我们的HTML,但如果可以通过纯选择器完成它会很棒.

jle*_*lew 9

不是一个纯粹的选择器,但如何:

var depth = $('#myanchor').parents().length;
var all_at_depth = $("a").filter( function() { $(this).parents().length == depth; } );
Run Code Online (Sandbox Code Playgroud)

如果有帮助,您可以使用parentsUntil()来获取#myanchor与特定父级之间的距离.