nodeDOM पदानुक्रम में किसी भी प्रकार की वस्तु के लिए A सामान्य नाम है। एक nodeसे एक हो सकता है में निर्मित इस तरह के रूप डोम तत्वों documentया document.body, यह इस तरह के रूप में एक HTML टैग HTML में निर्दिष्ट किया जा सकता है <input>या <p>या यह एक पाठ नोड है कि एक और तत्व के अंदर पाठ का कोई खंड धारण करने के लिए प्रणाली द्वारा बनाई गई है हो सकता है । तो, संक्षेप में, कोई nodeभी DOM ऑब्जेक्ट है।
एक elementविशिष्ट प्रकार है nodeक्योंकि कई अन्य प्रकार के नोड्स हैं (पाठ नोड्स, टिप्पणी नोड्स, दस्तावेज़ नोड्स, आदि ...)।
DOM में नोड्स का एक पदानुक्रम होता है, जहाँ प्रत्येक नोड में एक माता-पिता, बच्चे के नोड्स की एक सूची और एक अगलीSibling और पिछलेSibling हो सकती है। यह संरचना एक पेड़ की तरह पदानुक्रम बनाती है। documentनोड बच्चे नोड्स (की अपनी सूची के लिए होता है headनोड और bodyनोड)। bodyनोड बच्चे नोड्स (अपने HTML पृष्ठ में शीर्ष स्तर तत्व) और इतने पर की अपनी सूची के लिए होगा।
तो, nodeListयह केवल एक सरणी जैसी सूची है nodes।
एक तत्व एक विशिष्ट प्रकार का नोड है, जिसे सीधे HTML टैग के साथ HTML में निर्दिष्ट किया जा सकता है और इसमें एक idया एक जैसे गुण हो सकते हैं class। बच्चे हो सकते हैं, आदि ... विभिन्न प्रकार के नोड्स हैं जैसे कि टिप्पणी नोड्स, टेक्स्ट नोड्स, आदि ... विभिन्न विशेषताओं के साथ। प्रत्येक नोड में एक संपत्ति होती है .nodeTypeजो रिपोर्ट करती है कि यह किस प्रकार का नोड है। आप नोड्स यहाँ (से चित्र के विभिन्न प्रकार देख सकते हैं MDN ):

आप देख सकते हैं ELEMENT_NODEकि एक एक विशेष प्रकार का नोड है जहां nodeTypeसंपत्ति का मूल्य है 1।
तो document.getElementById("test")केवल एक नोड वापस कर सकते हैं और यह एक तत्व (एक विशिष्ट प्रकार का नोड) होने की गारंटी है। इसकी वजह से यह सूची के बजाय केवल तत्व को लौटाता है।
चूंकि document.getElementsByClassName("para")एक से अधिक ऑब्जेक्ट वापस आ सकते हैं, इसलिए डिजाइनरों ने वापस लौटना चुना nodeListक्योंकि यह डेटा प्रकार है जो उन्होंने एक से अधिक नोड की सूची के लिए बनाया था। चूंकि ये केवल तत्व हो सकते हैं (केवल तत्वों में आमतौर पर एक वर्ग का नाम होता है), यह तकनीकी रूप से एक nodeListही है जिसमें केवल प्रकार तत्व के नोड्स होते हैं और डिजाइनर एक अलग नाम संग्रह बना सकते हैं जो एक था elementList, लेकिन उन्होंने सिर्फ एक प्रकार का उपयोग करने के लिए चुना यह संग्रह करने के लिए कि इसमें केवल तत्व हैं या नहीं।
EDIT: HTML5 परिभाषित करता है HTMLCollectionजो HTML तत्वों की सूची है (कोई नोड नहीं, केवल तत्व)। HTML5 में कई गुण या विधियाँ अब वापस आती हैं HTMLCollection। हालांकि यह इंटरफ़ेस में बहुत समान है nodeList, अब एक अंतर यह है कि इसमें केवल तत्व होते हैं, किसी प्रकार का नोड नहीं।
एक nodeListऔर एक के बीच के अंतर HTMLCollectionका थोड़ा प्रभाव है कि आप एक का उपयोग कैसे करते हैं (जहां तक मैं बता सकता हूं), लेकिन एचटीएमएल 5 के डिजाइनरों ने अब यह अंतर बना लिया है।
उदाहरण के लिए, element.childrenसंपत्ति लाइव HTMLCollection लौटाती है।