获取每一级李

问题描述:

我有这个名单获取每一级李

<ul> 
    <li> 
     <ul> 
      <li></li> 
      <li></li> 
      <li></li> 
     </ul> 
    </li> 
    <li></li> 
    <li></li> 
    <li></li> 
</ul> 

我只需要获得第一级LIS提前

你不能使用直接子选择器?

$("body > ul > li") 

这应该只返回是UL的直接子李标签,而这一点:

$("ul li") 

将返回所有子孙李标签,它会根据UL各级找到李后裔。

这整个选择将工作好了很多,如果你把一个ID的UL要获得第一级李标签。然后,您选择可能是这样的:

$("#myID > li") 

,它会独立于您所在DOM的位置(而第一个必须是身体标记的直接子女才能工作)。

假设第一ul

由于是body直接子你可以使用这个选择器:

$('body > ul > li'); 

试图保持它作为一般应用地:

$('ul').filter(function(){ 
    return ($(this).closest('li').length == 0); 
}).children('li'); 

从@Kokos或@ jfriend00是伟大无论答案。唯一的问题是如果<ul>不是<body>的直接后代。

如果这是一次性场景,可能会多发一点,我们可以指定;否则在不知道更多关于文档结构的情况下,需要进行全面的推广(,参见上面的)。

在KOKOS和jfriend00答案的顶部,你可以使用:

$(selector).children(); 

要选择选择的只是直接孩子的。如果你已经在你的选择器中选择了HTML,只需带上它的孩子。