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

时间:2012-01-11 17:29:25

标签: 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</a><li>
                    <li><a class="t-link" href="">leaf 2</a><li>
                </ul>
            </li>            
        </ul>
    </li>
</ul>

所以在这个例子中我想选择两个叶子链接而不是文件夹链接 文件夹可以无限深层嵌套(但通常只有2-3级)。我想我需要查找不包含ul元素的li元素,但我不知道你是如何在jQuery中那样做的

3 个答案:

答案 0 :(得分:8)

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

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

快速jsFiddle与颜色编码示例:http://jsfiddle.net/rFuUc/

答案 1 :(得分:0)

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

DEMO

答案 2 :(得分:0)

$('.t-link').parent().find(' ul .t-link')

应该有用。