2012-01-11 74 views
3

我需要选择只有一个嵌套列表
样本HTML如何选择使用jQuery

<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层)。我想我需要寻找不包含UI元素,但我不能看你怎么做,在jQuery的

回答

8

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

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

快速的jsfiddle用颜色编码例如:http://jsfiddle.net/rFuUc/

+0

+1出色答卷。 – techfoobar 2012-01-11 17:42:29

0

尝试

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

DEMO

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

应该工作li元素。