Aller au contenu

DOM (Document Object Model)

Le DOM (Document Object Model) est une représentation sous forme d’arbre du contenu HTML d’une page.
Grâce à JavaScript, on peut sélectionner, modifier, ajouter ou supprimer des éléments du DOM pour rendre la page interactive.


Il existe plusieurs façons de sélectionner un élément dans la page :

  • getElementById("id") → sélectionne par ID
  • querySelector("sélecteur") → sélectionne le premier élément qui correspond
  • querySelectorAll("sélecteur") → sélectionne tous les éléments correspondants (NodeList)
let titre = document.getElementById("titre");
let bouton = document.querySelector("button");
let boutons = document.querySelectorAll("button");

Une fois l’élément sélectionné, on peut modifier son contenu et son style.

let titre = document.getElementById("titre");
titre.innerText = "Nouveau texte";
titre.style.color = "red";

Différences entre innerText, textContent et innerHTML

Section intitulée « Différences entre innerText, textContent et innerHTML »
  • innerText → affiche uniquement le texte visible (ignore les balises cachées par CSS).
  • textContent → récupère tout le texte, même caché.
  • innerHTML → permet d’insérer du HTML (Attention aux failles XSS si contenu externe).

On peut créer un nouvel élément avec document.createElement() et l’insérer dans la page.

let nouveauParagraphe = document.createElement("p");
nouveauParagraphe.innerText = "Je suis ajouté en JS";
document.body.appendChild(nouveauParagraphe);
  • append() → ajoute à la fin (comme appendChild)
  • prepend() → ajoute au début
  • remove() → supprime un élément
document.body.prepend(nouveauParagraphe); // insère au début
titre.remove(); // supprime l'élément titre

  • Préférer querySelector et querySelectorAll (plus flexibles grâce aux sélecteurs CSS).
  • Utiliser textContent plutôt que innerHTML pour éviter les failles de sécurité (injections XSS).
  • Créer et insérer les éléments dynamiquement au lieu de modifier directement le HTML brut.