जावास्क्रिप्ट हार्ड कोर डॉम नोड लिस्ट
HTML DOM NodeList ऑब्जैक्ट
NodeList ऑब्जैक्ट दस्तावेज़ से निकाले गए नोड लिस्ट (समूह) हैं。
NodeList ऑब्जैक्ट और HTMLCollection ऑब्जैक्ट लगभग एक-सा-सा हैं。
यदि getElementsByClassName()
यह मथडड़ा, कुछ (बुढ़े) ब्राउज़रों में NodeList ऑब्जैक्ट वापस देता है बजाय HTMLCollection。
सभी ब्राउज़र childNodes
गुण NodeList ऑब्जैक्ट वापस देते हैं。
अधिकांश ब्राउज़र querySelectorAll()
यह मथडड़ा NodeList ऑब्जैक्ट वापस देता है。
नीचे वाला कोड दस्तावेज़ में सभी <p> नोड्स को चुनता है:
उदाहरण
var myNodeList = document.querySelectorAll("p");
NodeList में एलिमेंट्स को इंडेक्स नंबर से पहुंचा जा सकता है。
दूसरे <p> नोड को पहुंचने के लिए आप इस तरह लिख सकते हैं:
y = myNodeList[1];
टिप्पणी:इंडेक्स 0 से शुरू होता है。
HTML DOM नोड लिस्ट लंबाई
length
इस गुण का उपयोग नोड लिस्ट में नोड्स की संख्या निर्धारित करने के लिए किया जाता है:
उदाहरण
var myNodelist = document.querySelectorAll("p"); document.getElementById("demo").innerHTML = myNodelist.length;
उदाहरण व्याख्या:
- सभी <p> एलिमेंट्स की लिस्ट बनाएं
- इस लिस्ट की लंबाई दिखाएं
length
इस गुण का उपयोग नोड लिस्ट में नोड्स को घूमते समय करने के लिए किया जाता है:
उदाहरण
पूरे नोड लिस्ट में सभी <p> एलिमेंट्स का पृष्ठभूमि रंग बदलें:
var myNodelist = document.querySelectorAll("p"); var i; for (i = 0; i < myNodelist.length; i++) { myNodelist[i].style.backgroundColor = "red"; }
स्वयं को प्रयोग करें
HTMLCollection और NodeList के अंतर
HTMLCollection (पिछले चैप्टर) एचटीएमएल एलीमेंट की सूची है
NodeList डॉक्यूमेंट नोड की सूची है
HTMLCollection और NodeList ऑब्जैक्ट दोनों की वस्तुओं की सूची (सेट) हैं
वे सभी डिफ़ाइनिट लिस्ट (सेट) में प्रोजेक्ट की संख्या को निर्धारित करते हैं length
गुण
वे भी इंडेक्स (0, 1, 2, 3, 4, ...) के माध्यम से प्रत्येक प्रोजेक्ट को एक्राइव कर सकते हैं।
HTMLCollection प्रोजेक्ट्स को उनके नाम, id या इंडेक्स नंबर के माध्यम से एक्राइव किया जा सकता है。
NodeList प्रोजेक्ट्स को उनके इंडेक्स नंबर के माध्यम से ही एक्राइव किया जा सकता है。
केवल NodeList ऑब्जैक्ट अधिकार और टेक्स्ट नोड को शामिल कर सकते हैं。
नोड लिस्ट एक्राइव नहीं है!
नोड एक्राइव लगभग एक्राइव लगते हैं, लेकिन वे नहीं हैं।
आप नोड लिस्ट को गढ़ ले सकते हैं और उसे एक एक्राइव की तरह उपयोग कर सकते हैं।
हालांकि, आप नोड लिस्ट पर एक्राइव नहीं कर सकते, जैसे कि valueOf()
、push()
、pop()
या join()
।