使用jQuery获取叶节点的最有效方法是什么?

如何从DOM中获取所有叶子节点,比如说div? 我想要一个最佳解决方案,如果没有简单而神奇的选择器。 我想过使用“reachElem.find(’div’)。length == 0”但我不确定这是不是正确的方向。 有任何想法吗?

您可以使用以下选择器

$('div:not(:has(*))') 

选择器上方将选择所有没有孩子的DIV。

如果你真的想要有效的东西,避免复杂:not(:has(*))选择器:

 $("div").filter( function(index) { var isLeaf = $(this).children().length === 0; return isLeaf; } ); 

我发现它的效率是eHussain建议的两倍,甚至更快。