获取每一级李
问题描述:
我有这个名单获取每一级李
<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,只需带上它的孩子。