Raconté par Vincent Jugé
sur la base d'un cours créé par Rémi Forax
L'API DOM permet de manipuler l'arbre correspondant
à une page HTML en JavaScript.
Le document (racine), les éléments, les attributs des éléments, le texte à l'intérieur des éléments sont des nœuds de l'arbre.
element.children renvoie les sous-éléments d'un élément HTML
children renvoie des HTMLCollection mais
PAS des tableaux : on verra bientôt la différence.
Mais on peut récupérer une collection dans un tableau grâce à l'opérateur spread.
document.getElementsByClassName
renvoie une HTMLCollection
document.querySelectorAll
renvoie une NodeList (c'est à peu près pareil).
On peut s'en servir pour modifier le contenu textuel de l'élément.
On ne peut pas réassigner ces listes, mais on peut modifier leurs éléments.
document.createElement permet de créer un élément.
parent.appendChild(element) ajoute un élément.
La fonction window.onload sera appelée une fois la page entièrement chargée !
<head>
<script>
"use strict";
window.onload = function() {
const element = document.getElementById("paragraph");
element.innerText = "J'ai réussi à changer le DOM.";
};
</script>
</head>
<body>
<p id="paragraph">Je n'ai pas réussi à changer le DOM.</p>
</body>
Si le script tente d'accéder à un élément alors qu'il n'a pas encore été chargé, il échouera !