我有一个包含大量嵌套元素的html页面。我试图找到两个节点之间的DOM距离,这样我就可以选择可视兄弟,即使它们不是DOM兄弟。
<div class='root'>
<div class='wrapper'>
<div class='family brother'>
<div class='otherstuff'>Other Stuff</div>
</div>
</div>
<div class='wrapper'>
<div class='family sister'>
<div class='otherstuff'>More Stuff</div>
<div class='wrapper>
<div class='family nephew'>
<div class='otherstuff'>Yet more stuff</div>
</div>
</div>
</div>
</div>
</div>
所以,使用jQuery:
var root = $(".root");
var siblings = root.find(".family");
但那会选择兄弟,姐妹和侄子。
我无法使用
var siblings = root.find(".wrapper>.family");
因为那也将匹配所有三个。
我无法使用
var siblings = $(".root>.wrapper>.family");
因为根据模板可能有其他包装元素。
我正在寻找的是:在.root下给出.brot,通过计算从.brother到.root的DOM(分层)距离是否匹配另一个的距离,告诉我是否另一个.family是“兄弟姐妹”。来自.root的家庭成员。结果集应仅包含.brother和.sister,但不包含.nephew。
答案 0 :(得分:2)