如何使用jQuery选择嵌套列表的叶元素

如何使用jQuery选择嵌套列表的叶元素,jquery,html,nested-lists,Jquery,Html,Nested Lists,我只需要选择嵌套列表的叶链接元素 示例HTML <ul> <li>folder <ul> <li>><a class="t-link" href="">folder</a> <ul> <li><a class="t-link" href="">leaf 1</

我只需要选择嵌套列表的叶链接元素
示例HTML

<ul>
    <li>folder
        <ul>
            <li>><a class="t-link" href="">folder</a>
                <ul>
                    <li><a class="t-link" href="">leaf 1</a><li>
                    <li><a class="t-link" href="">leaf 2</a><li>
                </ul>
            </li>            
        </ul>
    </li>
</ul>
  • 文件夹
    • >
因此,在本例中,我希望选择两个叶链接,但不选择文件夹链接 文件夹可以无限深地嵌套(但通常只有2-3层)。我想我需要寻找不包含ul元素的li元素,但我看不出在jQuery中如何做到这一点

$('li').each(function(){
    if($(this).children('ul').size() == 0)
    {
        alert($(this).find('a').text());        
    }
});


应该可以工作。

这将选择没有其他无序列表的叶节点作为子节点:

$("li:not(:has(ul))")
带有颜色编码示例的快速JSFIDLE:

$("li:not(:has(ul))")