Jquery 得到每个第一级李
我有这个清单Jquery 得到每个第一级李,jquery,each,Jquery,Each,我有这个清单 <ul> <li> <ul> <li></li> <li></li> <li></li> </ul> </li> <li></li> <li></li> <li>
<ul>
<li>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</li>
<li></li>
<li></li>
<li></li>
</ul>
-
我只需要一级的lis
提前感谢假设第一个
ul
是body
的直接子项,您可以使用此选择器:
$('body > ul > li');
假设第一个
ul
是body
的直接子项,则可以使用此选择器:
$('body > ul > li');
您不能使用直接子选择器吗
$("body > ul > li")
只应返回ul直接子项的li标签,而:
$("ul li")
将返回所有子代li标记,并将在ul的所有级别下查找li子代
如果你在UL上加上一个ID,你想得到第一级的li标签,那么整个选择器将会工作得更好。然后,您的选择器可以是:
$("#myID > li")
它将独立于它在DOM中的位置(而第一个必须是body标记的直接子项才能工作)。您不能使用直接子项选择器吗
$("body > ul > li")
只应返回ul直接子项的li标签,而:
$("ul li")
将返回所有子代li标记,并将在ul的所有级别下查找li子代
如果你在UL上加上一个ID,你想得到第一级的li标签,那么整个选择器将会工作得更好。然后,您的选择器可以是:
$("#myID > li")
它将独立于它在DOM中的位置(而第一个必须是body标记的直接子项才能工作)。尝试将其作为通用应用程序:
$('ul').filter(function(){
return ($(this).closest('li').length == 0);
}).children('li');
来自@Kokos或@jfriend00的答案都很好。唯一的问题是
不是
的直接后代
如果这是一个一次性的场景,也许可以发布更多关于它的信息,我们可以指定;否则,在不了解更多有关文档结构的信息的情况下,需要进行全面概括(见上文)。尝试使其尽可能通用:
$('ul').filter(function(){
return ($(this).closest('li').length == 0);
}).children('li');
来自@Kokos或@jfriend00的答案都很好。唯一的问题是
不是
的直接后代
如果这是一个一次性的场景,也许可以发布更多关于它的信息,我们可以指定;否则,在不了解更多文档结构的情况下,需要进行全面概括(见上文)。在Kokos和jfriend00答案之上,您可以使用:
$(selector).children();
仅选择选择器的直接子对象。如果您已经在选择器中选择了该HTML,只需选择它的子项即可。在Kokos和jfriend00答案之上,您可以使用:
$(selector).children();
仅选择选择器的直接子对象。如果您已经在选择器中选择了该HTML,只需选择它的子项即可