jQuery 수 하위 요소


324

<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])합니까?



1
순수한 JS에서 @Mo.의 대답은 여전히 ​​낮지 만 사용합니다.element.childelementCount
Charles L.

답변:



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

또는:

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

10
.size ()는 .length에 찬성하여 더 이상 사용되지 않습니다.
Eric Kigathi

18

가장 빠른 것 :

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

2
이것은 가장 빠르지 않습니다. 실제로 당신 div은 거기 에 추가하여 속도를 늦췄습니다 :)
Nick Craver

1
사용하는 브라우저에 따라 다릅니다. 많은 최신 브라우저에서 요소를 추가하면 id 또는 클래스로 찾기 전에 findByElement를 사용하므로 속도가 느립니다. 곧 모든 DOM 검색이 하나의 고유 함수를 사용하여 수행되기 때문에 이것은 어느 쪽이든 문제가 될 것입니다. 어쨌든 간단한 getElementById ( 'selected') 또는 $ ( '# selected')이이 시점에서 더 빠릅니다.
Alex K

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

li어린이 선택기에서 생략 할 수도 있습니다 .

참조하십시오 .length.


13

JavaScript를 사용할 수 있습니다 (jQuery 필요 없음)

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


4

childElementCount순수한 자바 스크립트로 간단하게 가능합니다.

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>


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.