Chapitre 11 – Manipulation du DOM

1. Qu'est-ce que le DOM ?

Le DOM (Document Object Model) est une interface de programmation qui permet à JavaScript d'accéder, de modifier et de réagir à un document HTML. Chaque élément HTML devient un objet manipulable en JavaScript.

Le navigateur construit automatiquement ce modèle en mémoire dès qu'il lit le HTML. JavaScript peut alors interagir avec cette structure comme avec n'importe quel objet.

Exemple de zone interactive : Texte original

2. Sélection d'éléments

Pour manipuler un élément HTML, il faut d'abord le sélectionner. Il existe plusieurs méthodes :

<div id="maDiv" class="boite">Bonjour</div>

<script>
  const div1 = document.getElementById("maDiv");
  const div2 = document.querySelector(".boite");
  console.log(div1.textContent); // "Bonjour"
</script>

3. Modification du contenu, des attributs et du style

Modifier le contenu

Modifier les attributs

Modifier le style CSS

On peut modifier le style via element.style :

const div = document.querySelector(".boite");
div.style.backgroundColor = "lightblue";
div.style.fontSize = "20px";
Exemple de style

4. Création et suppression d'éléments

Créer un élément

On utilise document.createElement("tag") :

const paragraphe = document.createElement("p");
paragraphe.textContent = "Je suis un paragraphe dynamique.";
document.body.appendChild(paragraphe);

Supprimer un élément

Pour supprimer un élément existant :

const àSupprimer = document.getElementById("maDiv");
àSupprimer.remove();

On peut aussi utiliser parent.removeChild(enfant) si l'élément est plus complexe.

Élément à supprimer

5. Gestion des événements

Les événements permettent à JavaScript de réagir aux actions de l'utilisateur (clic, clavier, survol, etc.).

Ajouter un événement

On utilise addEventListener :

const bouton = document.querySelector("button");
bouton.addEventListener("click", () => {
  alert("Bouton cliqué !");
});

On peut réagir à tous les événements natifs :

Supprimer un événement

Il faut avoir la fonction sous forme nommée :

function maFonction() {
  alert("Clic !");
}
bouton.addEventListener("click", maFonction);

// Plus tard
bouton.removeEventListener("click", maFonction);

Résumé du chapitre

  • Le DOM est la représentation en mémoire d'une page HTML, manipulable avec JavaScript.
  • On peut sélectionner des éléments avec getElementById, querySelector, etc.
  • On peut modifier le texte, le HTML, les attributs, et le style d'un élément DOM.
  • On peut créer de nouveaux éléments avec createElement et les insérer avec appendChild.
  • On supprime des éléments avec remove ou removeChild.
  • Les événements permettent de réagir aux interactions utilisateur. On utilise addEventListener pour cela.

La maîtrise du DOM est essentielle pour rendre vos pages dynamiques et interactives en JavaScript.