Jusqu'ici nous avons vu certaines fonctionnalités liées au DOM et qui permettent de modifier un nœud texte ou changer l'apparence d'un objet quelconque. Maintenant nous allons voir comment créer et intégrer un nouveau nœud (objet) à l'arbre HTML et comment supprimer un élément existant.
Méthode createElement()
La méthode createElement() permet de créer un nouveau nœud élément (balise).
Exemple:
baliseFont=document.createElement("font");
Ici, nous avons créé un nouveau nœud élément qui correspond à la balise <font> (bien que cette balise est devenue obsolète avec HTML5 mais ça reste juste un exemple).
Le nœud désormais créé, est identifié directement par le nom qu'on lui a choisi, à savoir baliseFont.
Le fait de déclarer un nouveau nœud ne veut pas dire qu'il sera visible dans la page, car on ne l'a pas encore intégré à l'arbre HTML.
Méthode createTextNode()
La méthode createTextNode permet de créer un nœud texte.
Exemple:
message=document.createTextNode("Bonjour à tous.");
Comme c'est le cas pour la méthode précédente, le texte n'est pas encore intégré au DOM, il n'est donc pas encore considéré sur la page.
Méthode appendChild()
La méthode appendChild ajoute un enfant à l'objet sur lequel elle est appelée. L'enfant peut être un nœud élément ou un nœud texte.
Le nœud enfant qui vient d'être ajouté à un parent, est placé à la fin.
Méthode insertBefore()
La méthode insertBefore() ajoute un nouveau nœud enfant dans l'élément parent sur lequel elle est appelé. Si appendChild() ajoute le nœud à la fin, insertBefore quant à elle permet de spécifier avant quel élément on veut insérer le notre.
L'élément à supprimer peut être un nœud existant déjà ou intégré dynamiquement à l'arbre HTML.
Mot-clé this
Le mot clé this fait référence à l'objet sur lequel il est déclaré. Il permet de simplifier la désignation des objets à travers le DOM. Au lieux de cibler un élément à travers son ID ou ton tagName, this raccourcie visiblement la syntaxe.
Supposons que nous disposons d'une image en noir et blanc qui, une fois survolé, laisse place à une l'image en couleur. On peut écrire le code comme ceci:
Le mot clé this fait référence à l'image, car c'est sur celle-ci qu'il est déclaré et passé en paramètre de la fonction changerImage(). Une autre astuce consiste à placer les chemins des images dans un tableau, ce qui rend le code plus lisible et facilement modifiable.