簡體   English   中英

jQuery在特定級別選擇子元素

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


為此,更好的選擇作者: Arun P Johny爵士

小提琴演示

 $('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;

 $('ul:first').children('li').length

給你結果4。

您可以在這里嘗試-http://jsfiddle.net/rQWb3/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM