[英]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.