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 2014年

18

最速のもの:

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

2
これは最速ではありません。実際div、そこに追加することで速度を落としました:)
Nick Craver

1
それは本当にあなたが使うブラウザに依存します。最近の多くのブラウザーでは、要素を追加するときに、IDまたはクラスで検索する前にfindByElementを使用しますが、これは低速です。すべてのDOM検索は1つのネイティブ関数を使用して実行されるため、間もなくこれはどちらの方法でも問題となるでしょう。いずれの場合も、この時点では単純な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純粋な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>


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.