我们可以使用closest(selector)
来查找匹配选择器的第一个祖先元素。它将向上移动 DOM树,直到它找到匹配的选择器。但是,如果我想要在下调 DOM树,直到它找到匹配选择器?有没有这样做的jQuery功能?还是我需要使用广度优先搜索来实现?如何用jQuery找到最接近的后代(匹配选择器)?
举个例子。对于下面的DOM树,
<div id="main">
<div>
<ul><!-- I want to match this ul -->
<li>
<ul><!-- but not this ul -->
</ul>
</li>
</ul>
<ul><!-- and match this ul -->
</ul>
</div>
</div>
如何做类似$('#main').closestDescendants('ul')
?
这要求您有一些锚点#main,而不是将其定位到某个上下文元素。有没有一种方法可以编写它,以便它只相对于一个范围,并且它不匹配匹配基于高于上下文范围的祖先的元素? – 2011-03-06 01:42:59