मैं बच्चों की संख्या कैसे गिन सकता हूं?


108

मेरे पास एक सूची है

<ul>
  <li>
  <li>
  <li>
  ...
</ul>

मुझे अपनी सूची में आइटमों की संख्या गिनने के लिए jQuery की आवश्यकता है।


1
jQuery भूलdocument.querySelectorAll('ul li').length
— caub

जवाबों:


188

आप .lengthइस तरह का उपयोग कर सकते हैं :

var count = $("ul li").length;

.lengthयह बताता है कि चयनकर्ता ने कितने मिलान पाए, इसलिए यह मायने रखता है कि आपके पास कितने <li>अंडर <ul>एलिमेंट्स हैं ... यदि उप-बच्चे हैं, "ul > li"तो केवल सीधे बच्चे प्राप्त करने के लिए उपयोग करें । यदि <ul>आपके पृष्ठ में अन्य तत्व हैं, तो चयनकर्ता को केवल उसके एक से मिलान करने के लिए बदल दें, उदाहरण के लिए यदि आपके पास एक आईडी है जिसका आप उपयोग करेंगे "#myListID > li"।

अन्य स्थितियों में जहां आप बच्चे के प्रकार को नहीं जानते हैं, आप *(वाइल्डकार्ड) चयनकर्ता, या .children()इस तरह का उपयोग कर सकते हैं :

var count = $(".parentSelector > *").length;

या:

var count = $(".parentSelector").children().length;

1
क्या होगा अगर, यह ज्ञात नहीं है कि बच्चा "ली" है, और कुछ भी हो सकता है?
— स्टारएक्स

7
@ स्टार्क्स:$("#parent").children().length
— rekamoyka

1
@AlecAnanian, नहीं, मुझे पता है कि कैसे। मेरा मतलब है कि मैं उम्मीद कर रहा था कि निक उसके जवाब में भी जोड़ देगा।
— Starx

2
@Starx - जोड़ा मामले में यह सड़क के नीचे :) कुछ लोगों को मदद मिलती
— निक Craver

यदि तत्व दिखाई नहीं देता है तो क्या होगा?
— । '

6

इसके लिए आपको jQuery की आवश्यकता नहीं है। आप जावास्क्रिप्ट का उपयोग कर सकते हैं .childNodes.length।

यदि आप डिफ़ॉल्ट पाठ नोड (जो डिफ़ॉल्ट रूप से खाली है) को शामिल नहीं करना चाहते हैं, तो बस 1 घटाना सुनिश्चित करें। इस प्रकार, आप निम्नलिखित का उपयोग करेंगे:

var count = elem.childNodes.length - 1;

1

उपयोग करने की कोशिश करें:

var count = $("ul > li").size();
alert(count);

0

क्या होगा यदि आप इसका उपयोग अपने बच्चों को खोजने के लिए वर्तमान चयनकर्ता को निर्धारित करने के लिए कर रहे हैं ताकि यह पकड़ में आ जाए: <ol>तो <li>चयनकर्ता var count = $(this+"> li").length;अभ्यस्त काम लिखने के तहत है ।


अगर ol के पास एक वर्ग है, तो आप लिख सकते हैं$("ol.class > li").length
— Qwerty

0

आप jQuery का उपयोग करके ऐसा कर सकते हैं:

इस विधि से उसके बच्चों की सूची प्राप्त होती है और फिर उस सूची की लंबाई गिना जाती है, जितनी सरल।

$("ul").find("*").length;

खोज () विधि वंशजों के साथ नीचे की ओर जाती है, जो पिछले वंश के लिए नीचे की ओर है।

नोट: बच्चों () विधि डोम पेड़ के नीचे एक एकल स्तर का पता लगाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.