[英]jquery selecting child elements on specific level
我有一个类似的DOM
<ul>
<li> list item </li>
<li> list item </li>
<li> has sub element
<ul>
<li> list item </li>
<li> list item </li>
<li> list item </li>
<li> has sub element
<ul>
<li> list item </li>
<li> list item </li>
<li> list item </li>
</ul>
</li>
</ul>
</li>
<li> list item </li>
</ul>
我如何才能仅获得第一级李计数,但子ul元素具有的所有li元素的总和
尝试> child-selector或.children()
<ul id="FirstUL">
$('#FirstUL > li').length;
$('ul> li:not(:has(ul))')。length;
获取当前匹配元素集中每个元素的祖先,可以选择使用选择器进行过滤。
var len = $('ul > li').filter(function(){
return $(this).parents('ul').length == 1;
}).length;
$('li:not(ul ul li)').length;
或尝试
$("#ulID").children().length
在您的情况下返回4
您可以尝试以下方法之一:
$('ul:first > li').length;
$('ul:eq(0)').children('li').length;
您应该给第一个ul提供一个ID或类,然后您可以使用like
alert($(".classname").children("li").length);
如果这对您有帮助,请投票:)
https://api.jquery.com/children/
jquery .children()
返回任何元素的直接子代
因此,要么将父ul存储在变量中(如果这是动态应用程序,或者在该元素上执行大量js,就应该这样做),或者需要在该ul上放置一个ID。 然后,您只需使用:
$('#myId').children('li');
这样就可以得到四个李的阵列。
从那里您可以直接获得长度,如下所示:
$('#myId').children('li').length;
或var x = $('#myId').children('li'); count = x.length;
var x = $('#myId').children('li'); count = x.length;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.