我有一个类似
的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>
除了子元素元素所具有的所有li元素的总和之外,我怎样才能得到第一级li计数
答案 0 :(得分:2)
尝试> child-selector或.children()
<ul id="FirstUL">
$('#FirstUL > li').length;
$('ul&gt; li:not(:has(ul))')。length;
获取当前匹配元素集中每个元素的祖先,可选择通过选择器进行过滤。
var len = $('ul > li').filter(function(){
return $(this).parents('ul').length == 1;
}).length;
<小时/> 先生Arun P Johny
更好地为此而努力
$('li:not(ul ul li)').length;
答案 1 :(得分:0)
或尝试
$("#ulID").children().length
在你的情况下返回4
答案 2 :(得分:0)
您可以尝试以下方法之一:
$('ul:first > li').length;
$('ul:eq(0)').children('li').length;
答案 3 :(得分:0)
你应该给第一个ul的id或类, 那么你可以使用像
alert($(".classname").children("li").length);
答案 4 :(得分:0)
如果这有助于你,请提前投票:)
https://api.jquery.com/children/
jquery .children()
返回任何元素的直接子元素
所以你要么将父元素ul存储在一个变量中(如果这是一个动态应用程序你应该这样做,或者如果你在该元素上做了很多js),或者你需要在那个ul上放一个ID 。然后你只需使用:
$('#myId').children('li');
这给你一个四个li的数组。
从那里你可以直接获得长度:
$('#myId').children('li').length;
或var x = $('#myId').children('li');
count = x.length;
答案 5 :(得分:0)