2010-11-27 4 views
261

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

+0

http://stackoverflow.com/questions/250688/count- direct-child-div-elements-using-jquery – onder 2010-11-27 10:25:30

ответ

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

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

См. .length.

10
$('#selected ul').children().length; 

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

$('#selected li').length; 
17

быстрый один:

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

Это не самый быстрый, на самом деле вы его замедлили, добавив `div` там :) :) – 2010-11-27 10:28:30

+2

попробуйте и сравните время – 2010-11-27 10:31:39

11

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

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

Просто можно с 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>

Смежные вопросы