jQuery计数子元素

gau*_*kum 306 javascript jquery dom

<div id="selected">
  <ul>
    <li>29</li>
    <li>16</li>
    <li>5</li>
    <li>8</li>
    <li>10</li>
    <li>7</li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我想要计算<li>元素的总数<div id="selected"></div>.怎么可能使用jQuery .children([selector])

Nic*_*ver 575

您可以.length只使用后代选择器,如下所示:

var count = $("#selected li").length;
Run Code Online (Sandbox Code Playgroud)

如果你必须使用.children(),那就是这样的:

var count = $("#selected ul").children().length;
Run Code Online (Sandbox Code Playgroud)

你可以在这里测试两个版本.


bco*_*sca 30

$("#selected > ul > li").size()
Run Code Online (Sandbox Code Playgroud)

要么:

$("#selected > ul > li").length
Run Code Online (Sandbox Code Playgroud)

  • 只是注意.size()已被弃用,支持.length (9认同)
  • 所以重要的是长度,而不是大小。;) (2认同)

Ali*_*ini 18

最快的一个:

$("div#selected ul li").length
Run Code Online (Sandbox Code Playgroud)

  • 这不是最快的,事实上你通过在那里添加`div`来减慢速度:) (2认同)
  • 尝试并比较时间 (2认同)

Fel*_*ing 14

var length = $('#selected ul').children('li').length
// or the same:
var length = $('#selected ul > li').length
Run Code Online (Sandbox Code Playgroud)

你可能也可以li在孩子的选择器中省略.

.length.


小智 13

你可以使用JavaScript(不需要jQuery)

document.querySelectorAll('#selected li').length;
Run Code Online (Sandbox Code Playgroud)


Mar*_*ten 11

$('#selected ul').children().length;
Run Code Online (Sandbox Code Playgroud)

甚至更好

 $('#selected li').length;
Run Code Online (Sandbox Code Playgroud)


Mo.*_*Mo. 5

childElementCount用纯 javascript就可以实现

var countItems = document.getElementsByTagName("ul")[0].childElementCount;
console.log(countItems);
Run Code Online (Sandbox Code Playgroud)
<div id="selected">
  <ul>
    <li>29</li>
    <li>16</li>
    <li>5</li>
    <li>8</li>
    <li>10</li>
    <li>7</li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)