2010-11-27 17 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>

मैं <div id="selected"></div> में <li> तत्वों की कुल संख्या की गणना करना चाहते। JQuery के .children([selector]) का उपयोग करके यह कैसे संभव है?

+0

http://stackoverflow.com/questions/250688/count- तत्काल-बच्चे-div-elements-use-jquery – onder

उत्तर

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' जोड़कर इसे धीमा कर दिया है :) –

+2

इसे आजमाएं और –

+1

की तुलना करें यह वास्तव में किस ब्रो पर निर्भर करता है आप उपयोग करते हैं। कई आधुनिक ब्राउज़रों में, तत्व जोड़ना आईडी या कक्षा द्वारा ढूंढने से पहले खोजने के लिए ढूँढता है, जो धीमा है। जल्द ही यह एक महत्वपूर्ण बिंदु होगा हालांकि, क्योंकि सभी डीओएम खोज एक मूल कार्य का उपयोग करके की जाएगी। किसी भी मामले में, इस बिंदु पर एक साधारण getElementById ('चयनित') या $ ('# चयनित') तेज होगा। –

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

या:

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

सिर्फ एक नोट। आकार() को तरंगदैर्ध्य के पक्ष में हटा दिया गया है –

11

आप JavaScr उपयोग कर सकते हैं IPT (jQuery की जरूरत नहीं है)

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

यह शुद्ध जावास्क्रिप्ट में 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>

संबंधित मुद्दे