jQuery计数子元素

问题描述 投票:296回答:8

<div id="selected">
  <ul>
    <li>29</li>
    <li>16</li>
    <li>5</li>
    <li>8</li>
    <li>10</li>
    <li>7</li>
  </ul>
</div>

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

javascript jquery dom
8个回答
563
投票

你可以使用.length只有一个descendant selector,像这样:

var count = $("#selected li").length;

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

var count = $("#selected ul").children().length;

You can test both versions here


30
投票
$("#selected > ul > li").size()

要么:

$("#selected > ul > li").length

17
投票

最快的一个:

$("div#selected ul li").length

14
投票
var length = $('#selected ul').children('li').length
// or the same:
var length = $('#selected ul > li').length

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

.length


13
投票

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

document.querySelectorAll('#selected li').length;

11
投票
$('#selected ul').children().length;

甚至更好

 $('#selected li').length;

4
投票

在纯JavaScript中使用childElementCount很简单

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

0
投票

纯粹的js

selected.children[0].children.length;

let num = selected.children[0].children.length;

console.log(num);
<div id="selected">
  <ul>
    <li>29</li>
    <li>16</li>
    <li>5</li>
    <li>8</li>
    <li>10</li>
    <li>7</li>
  </ul>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.