jQuery 计数子元素

IT技术 javascript jquery dom
2021-01-21 05:37:39

<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])

6个回答

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

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

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

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

您可以在此处测试这两个版本

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

或者:

$("#selected > ul > li").length
只是一个说明 .size() 已被弃用而支持 .length
2021-04-07 05:37:39

最快的一个:

$("div#selected ul li").length
这不是最快的,事实上你通过div在那里添加减慢它的速度:)
2021-03-17 05:37:39
这实际上取决于您使用的浏览器。在许多现代浏览器中,添加元素使用 findByElement 在通过 id 或 class 查找之前使用,这会更慢。不过很快这将成为一个有争议的问题,因为所有 DOM 搜索都将使用一个本机函数完成。无论如何,此时使用简单的 getElementById('selected') 或 $('#selected') 会更快。
2021-04-01 05:37:39
var length = $('#selected ul').children('li').length
// or the same:
var length = $('#selected ul > li').length

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

.length

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

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