Düğüm nesne ve Element nesne arasındaki fark?
Düğüm nesne ve Element nesne arasında kafam iyice karıştı. belge.() getelementbyıd Elemanı belge ise nesne döndürür.()getElementsByClassName "döndürür. (Öğeleri ya da Düğümleri Koleksiyon?) NodeList
bir div varsa Öğesi bir Nesne Düğüm nesne div ne hakkında?
Düğüm bir Nesne nedir?
Belge nesne, Öğe, nesne ve Metin Nesne de nesne Düğümü vardır.
David Flanagan kitap başına 'Belge nesne Öğesi Nesneleri ve metin nesneleri tüm Düğüm nesnelerdir'.
Nasıl bir nesne özellikleri nesne Öğesi olarak Düğüm nesnesinin yöntemleri/miras...?
Evet, Düğüm Sınıf sanırım ve Eleman Sınıfı miras ilk ağacı ile ilgili.
<div id="test">
<p class="para"> 123 </p>
<p class="para"> abc </p>
</div>
<p id="id_para"> next </p>
document.documentElement.toString(); // [object HTMLHtmlElement]
var div = document.getElementById("test");
div.toString(); // [object HTMLDivElement]
var p1 = document.getElementById("id_para");
p1.toString(); // [object HTMLParagraphElement]
var p2 = document.getElementsByClassName("para");
p2.toString(); //[object HTMLCollection]
CEVAP
node
bir DOM hiyerarşisinde herhangi türde bir nesne için genel adıdır. node
olabilir yerleşik DOM öğeleri gibi document
document.body
, ama bir HTML etiketi belirtilen HTML gibi <input>
<p>
veya bir metin düğümü oluşturulan sistem için bir blok metin içinde başka bir unsur. Yani, özetle, node
herhangi bir DOM nesnesi.
DOM her bir üst düğüm, çocuk düğüm ve nextSibling ve bir previousSibling bir listesi var nerede düğümleri bir hiyerarşi oluşur. Bu yapı gibi bir ağaç hiyerarşi oluşturur. document
düğümü alt düğümleri (head
düğüm body
düğüm) liste olurdu. body
düğümün çocuk düğümleri listesi (üst düzey HTML sayfası öğeleri) ve benzeri var.
Yani, bir nodeList
sadece nodes
-gibi bir dizi listesi.
Bir öğe düğümü belirli bir tip, doğrudan bir HTML etiketi HTML belirtilebilir ve id
gibi özellikleri olan bir veya class
. çocuklar, vs... yorum düğümleri, metin düğümleri, vs... farklı özelliklere sahip gibi düğümleri diğer türleri vardır. Her düğüm ne olduğunu rapor eden bir özellik .nodeType
vardır. Düğümler burada (MDN diyagramı) çeşitli türleri görebilirsiniz:
ELEMENT_NODE
nodeType
özelliği 1
bir değeri olduğu düğüm belirli bir tip olduğunu görebilirsiniz.
Yani document.getElementById("test")
tek bir düğüm dönebilir ve bir öğe (düğüm belirli bir türü) olması garanti. Bu yüzden sadece bir liste yerine öğesi döndürür.
document.getElementsByClassName("para")
birden fazla nesne döndürür, çünkü tasarımcılar birden fazla düğüm listesi için oluşturulan veri türü çünkü nodeList
dönüş için seçti. Bu yana sadece eleman (yalnızca öğeleri genellikle bir sınıf adı), teknik olarak bir nodeList
bu sadece düğüm türü öğesi ve tasarımcılar yapmış olabilir bir farklı adlı toplama bir elementList
, ama onlar seçti kullanın, yalnızca bir tür toplama olsun vardı unsurları içinde ya da değil.
DÜZENLEME:HTML5 HTML Öğeleri listesi HTMLCollection
(herhangi bir düğüm, tek öğesi değil) tanımlar. HTML5 özellikleri veya yöntemleri bir dizi şimdi HTMLCollection
bir dönüş. Bir arayüz olarak çok benzer olsa da nodeList
farkı artık sadece Elemanları, düğüm herhangi bir türü içeren yapılır.
nodeList
HTMLCollection
a arasındaki ayrım bir kullanın ne kadar az etkisi (söyleyebileceğim kadarıyla, ama HTML5 tasarımcılar şimdi bu ayrım yapılmış.
Örneğin, element.children
özelliği canlı bir HTMLCollection verir.
Scala nesne ve sınıf arasındaki fark...
Nakavt Görünüm Modelleri arasındaki fa...
JSON arasındaki fark Değişmez Gösterim...
'bir nesne başlatıcı arasındaki f...
Dava arasındaki fark nesne ve nesne...