Я полностью запутался между объектом Node и элементом Element.
document.getElementById()
возвращает объект Элемент, а document.getElementsByClassName()
возвращает объект NodeList (коллекция элементов или узлов?)
Если div является объектом Element, то что относительно div Node object?
Что такое объект Node?
Объект document, объект Element и текстовый объект также являются Node объектом?
В соответствии с книгой Дэвида Фланагана "Объект Document, его Элементные объекты и текстовые объекты - это все Node объекты".
Итак, почему объект может наследовать свойства/методы объекта Element, а также Node object?
Если да, я думаю, Node Класс и класс элемента связаны в прототипах дерева наследования.
<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]