<div id="selected">_x000D_
<ul>_x000D_
<li>29</li>_x000D_
<li>16</li>_x000D_
<li>5</li>_x000D_
<li>8</li>_x000D_
<li>10</li>_x000D_
<li>7</li>_x000D_
</ul>_x000D_
</div>
_x000D_
I want to count the total number of <li>
elements in <div id="selected"></div>
. How is that possible using jQuery's .children([selector])
?
This question is related to
javascript
jquery
dom
You can use JavaScript (don't need jQuery)
document.querySelectorAll('#selected li').length;
$("#selected > ul > li").size()
or:
$("#selected > ul > li").length
fastest one:
$("div#selected ul li").length
$('#selected ul').children().length;
or even better
$('#selected li').length;
It is simply possible with childElementCount
in pure javascript
var countItems = document.getElementsByTagName("ul")[0].childElementCount;_x000D_
console.log(countItems);
_x000D_
<div id="selected">_x000D_
<ul>_x000D_
<li>29</li>_x000D_
<li>16</li>_x000D_
<li>5</li>_x000D_
<li>8</li>_x000D_
<li>10</li>_x000D_
<li>7</li>_x000D_
</ul>_x000D_
</div>
_x000D_
pure js
selected.children[0].children.length;
let num = selected.children[0].children.length;_x000D_
_x000D_
console.log(num);
_x000D_
<div id="selected">_x000D_
<ul>_x000D_
<li>29</li>_x000D_
<li>16</li>_x000D_
<li>5</li>_x000D_
<li>8</li>_x000D_
<li>10</li>_x000D_
<li>7</li>_x000D_
</ul>_x000D_
</div>
_x000D_
var length = $('#selected ul').children('li').length
// or the same:
var length = $('#selected ul > li').length
You probably could also omit li
in the children's selector.
See .length
.
Source: Stackoverflow.com