it-swarm.com.ru

jQuery считает дочерние элементы

<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>. Как это возможно при использовании .children([selector]) в jQuery?

297
gautamlakum

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

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

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

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

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

561
Nick Craver
$("#selected > ul > li").size()

или же:

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

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

$("div#selected ul li").length
17
Ali Tarhini
var length = $('#selected ul').children('li').length
// or the same:
var length = $('#selected ul > li').length

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

Смотрите .length .

14
Felix Kling

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

document.querySelectorAll('#selected li').length;
13
Đặng Văn Thanh
$('#selected ul').children().length;

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

 $('#selected li').length;
10
Martin Algesten

Это просто возможно с 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>
4
Mo.

чистый 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>
0
Kamil Kiełczewski