437 votes

Différence entre l'objet Node et l'objet Element ?

Je suis totalement confus entre l'objet Node et l'objet Element. document.getElementById() renvoie un objet élémentaire tandis que document.getElementsByClassName() renvoie l'objet NodeList (Collection d'éléments ou de nœuds ?)

Si un div est un Element Object, qu'en est-il de l'objet div Node ?

Qu'est-ce qu'un objet Node ?

L'objet document, l'objet élément et l'objet texte sont-ils également des objets Node ?

Selon le livre de David Flanagan, "L'objet Document, ses objets élémentaires et les objets texte sont tous des objets Node".

Alors comment se fait-il qu'un objet puisse hériter des propriétés/méthodes de l'objet Element ainsi que de l'objet Node ?

Si oui, je suppose que la classe Node et la classe Element sont liées dans l'arbre prototypique d'héritage.

 <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]

27 votes

Il existe 12 types de nœuds, dont l'élément.

0 votes

Ces 12 types ne sont-ils pas tous des objets élémentaires ? Comme 1 = ELEMENT_NODE, 3 = TEXT_NODE, je pense que les deux sont des objets élémentaires.

6 votes

Non, ils ne le sont pas. L'élément n'est qu'un seul type de nœud.

3voto

MD SHAYON Points 93

Un document DOM est une collection hiérarchique de nœuds. Chaque nœud peut avoir un parent et/ou des enfants.

Comprendre la différence entre un nœud DOM et un élément est facile si vous comprenez ce qu'est un nœud.

Les nœuds ont des types, le type d'élément étant l'un d'entre eux. L'élément est représenté par une balise dans le document HTML.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X