DOM (Document Object Model)
Qu’est-ce que le DOM ?
Section intitulée « Qu’est-ce que le DOM ? »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.
Sélectionner des éléments
Section intitulée « Sélectionner des éléments »Il existe plusieurs façons de sélectionner un élément dans la page :
getElementById("id")
→ sélectionne par IDquerySelector("sélecteur")
→ sélectionne le premier élément qui correspondquerySelectorAll("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");
Modifier du contenu et du style
Section intitulée « Modifier du contenu et du style »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).
Créer et insérer un élément
Section intitulée « Créer et insérer un élément »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);
Autres méthodes utiles
Section intitulée « Autres méthodes utiles »append()
→ ajoute à la fin (commeappendChild
)prepend()
→ ajoute au débutremove()
→ supprime un élément
document.body.prepend(nouveauParagraphe); // insère au débuttitre.remove(); // supprime l'élément titre
Bonnes pratiques
Section intitulée « Bonnes pratiques »- Préférer
querySelector
etquerySelectorAll
(plus flexibles grâce aux sélecteurs CSS). - Utiliser
textContent
plutôt queinnerHTML
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.