jQuery считает дочерние элементы - PullRequest
300 голосов
/ 27 ноября 2010

<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's .children([selector])?

Ответы [ 8 ]

563 голосов
/ 27 ноября 2010

Вы можете использовать .length только с помощью селектора потомков , например:

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

Если вам нужно использовать .children(), тогда это так:

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

Вы можете протестировать обе версии здесь .

30 голосов
/ 27 ноября 2010
$("#selected > ul > li").size()

или

$("#selected > ul > li").length
17 голосов
/ 27 ноября 2010

самый быстрый:

$("div#selected ul li").length
14 голосов
/ 27 ноября 2010
var length = $('#selected ul').children('li').length
// or the same:
var length = $('#selected ul > li').length

Возможно, вы также можете опустить li в детском селекторе.

См. .length.

13 голосов
/ 26 июня 2013

Вы можете использовать JavaScript (не нужен jQuery)

document.querySelectorAll('#selected li').length;
11 голосов
/ 27 ноября 2010
$('#selected ul').children().length;

или даже лучше

 $('#selected li').length;
4 голосов
/ 03 ноября 2015

Это просто возможно с childElementCount в чистом JavaScript

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 голосов
/ 25 апреля 2019

Чистый 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...