A node, DOM hiyerarşisindeki herhangi bir nesne türü için genel addır. A node, documentveya gibi yerleşik DOM öğelerinden biri olabilir veya document.bodyHTML'de belirtilen <input>veya gibi bir HTML etiketi <p>olabilir veya sistem tarafından başka bir öğenin içinde bir metin bloğunu tutmak için oluşturulan bir metin düğümü olabilir . Kısacası, a nodeherhangi bir DOM nesnesidir.
An element, nodediğer birçok düğüm türü (metin düğümleri, yorum düğümleri, belge düğümleri, vb.) Olduğundan belirli bir türdür .
DOM, her düğümün bir üst öğeye, alt düğümlerin listesine ve nextSibling ve previousSibling'e sahip olabileceği bir düğüm hiyerarşisinden oluşur. Bu yapı ağaç benzeri bir hiyerarşi oluşturur. documentDüğüm çocuk düğümler (kendi listesini olurdu headdüğüm ve bodydüğüm). bodyDüğüm benzeri çocuk düğümler (HTML sayfanıza üst düzey elemanları) ve onun listesi var olacaktır.
Yani, a nodeListsadece dizi benzeri bir listedir nodes.
Öğe, HTML'de doğrudan bir HTML etiketi ile belirtilebilen ve ida veya a gibi özelliklere sahip olabilen belirli bir düğüm türüdür class. çocuk, vb. olabilir ... Yorum düğümleri, metin düğümleri, vb. gibi farklı tipte düğümler vardır. Her düğümün, .nodeTypene tür bir düğüm olduğunu bildiren bir özelliği vardır. Burada çeşitli düğüm türlerini görebilirsiniz ( MDN'den diyagram ):

ELEMENT_NODEBurada, nodeTypeözelliğin değeri olan belirli bir düğüm türü görebilirsiniz 1.
Bu yüzden document.getElementById("test")sadece bir düğümü döndürebilir ve bir öğe (belirli bir düğüm türü) olması garanti edilir. Bu nedenle, bir liste yerine öğeyi döndürür.
Yana document.getElementsByClassName("para")birden fazla nesneyi döndürebilir tasarımcılar dönmek seçtik nodeListonlar birden fazla düğüm listesi için oluşturulan veri türü olduğu için. Bunlar yalnızca öğeler olabileceğinden (yalnızca öğelerin tipik olarak bir sınıf adı vardır), teknik olaraknodeList yalnızca içinde tür öğelerinin düğümleri olan ve tasarımcılar elementList, içinde sadece unsurları olsun ya da olmasın koleksiyon.
DÜZENLEME: HTML5, HTMLCollectionHTML Öğelerinin bir listesini tanımlar (herhangi bir düğüm değil, yalnızca Öğeler). HTML5'teki bir dizi özellik veya yöntem artık birHTMLCollection . A arayüzünde çok benzer olmakla birlikte nodeList, artık herhangi bir düğüm türünü değil, sadece Öğeleri içerdiği için bir ayrım yapılmaktadır.
A arasındaki ayrım nodeList veHTMLCollection , birini nasıl kullanabileceğiniz üzerinde çok az etkisi vardır (anlayabildiğim kadarıyla), ancak HTML5 tasarımcıları şimdi bu ayrımı yaptı.
Örneğin, element.childrenözellik canlı bir HTMLCollection döndürür.