假设我有这样的 HTML 标记:
<body>
<div id="content">
<div id="sidebar">
</div>
<div id="main">
<p class="foo">text</p>
<p class="bar">more <span>text</span></p>
</div>
</div>
</body>
让我们进一步假设我在 DOM 元素数组中选择了其中一些:
var allElements = jQuery('div,p').get();
// result: [div#content, div#sidebar, div#main, p.foo, p.bar]
现在我想有效地从结果集中删除所有在结果中有子元素的元素。换句话说,应该只保留最深的层次。所以,期望的结果是:
var deepestElements = doSomethingWith(allElements);
// desired result: [div#sidebar, p.foo, p.bar]
我怎样才能做到这一点?
顺便说一句:“最深的元素”似乎是我想做的事情的错误术语。有更好的名字吗?