A node
, DOM hiyerarşisindeki herhangi bir nesne türü için genel addır. A node
, document
veya gibi yerleşik DOM öğelerinden biri olabilir veya document.body
HTML'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 node
herhangi bir DOM nesnesidir.
An element
, node
diğ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. document
Düğüm çocuk düğümler (kendi listesini olurdu head
düğüm ve body
düğüm). body
Düğüm benzeri çocuk düğümler (HTML sayfanıza üst düzey elemanları) ve onun listesi var olacaktır.
Yani, a nodeList
sadece dizi benzeri bir listedir nodes
.
Öğe, HTML'de doğrudan bir HTML etiketi ile belirtilebilen ve id
a 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, .nodeType
ne 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_NODE
Burada, 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 nodeList
onlar 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, HTMLCollection
HTML Öğ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.