Le DOM (Modèle d'Objet de Document) est une interface de programmation pour les documents HTML et XML. Il représente la structure d'un document sous forme d'arborescence, où chaque élément HTML (texte, images, liens, etc.) est un nœud manipulable. Le DOM permet ainsi aux langages de programmation, comme JavaScript, d'accéder et de modifier dynamiquement la structure, le style et le contenu d'une page web.
<html> est le point d'entrée de l'arbre DOM.<body>, <div>, etc.), formant une structure hiérarchique.<p>) est aussi considéré comme un nœud distinct.JavaScript permet d'accéder aux éléments du DOM grâce à des méthodes qui ciblent les balises selon leur identifiant, classe, balise, ou sélecteur CSS. Voici les méthodes les plus courantes :
document.getElementById("id") : sélectionne un élément unique par son identifiant.document.getElementsByClassName("class") : sélectionne tous les éléments ayant une classe spécifique.document.getElementsByTagName("tag") : sélectionne tous les éléments d'un certain type de balise.document.querySelector("selector") : sélectionne le premier élément correspondant à un sélecteur CSS.document.querySelectorAll("selector") : sélectionne tous les éléments correspondant à un sélecteur CSS.// Sélection d'un élément par ID
let titre = document.getElementById("titre");
console.log(titre.textContent);
Une fois un élément sélectionné, JavaScript permet de modifier son contenu, ses attributs, et son style.
.textContent ou .innerHTML.setAttribute("attribut", "valeur").style.propriété = "value"// Changer le texte d'un élément
titre.textContent = "Nouveau Titre";
// Modifier un attribut
titre.setAttribute("class", "nouvelle-classe");
// Changer le style
titre.style.color = "blue";
JavaScript permet également d'ajouter ou de retirer dynamiquement des éléments dans le DOM.
document.createElement("tag")parentElement.appendChild(newElement)parentElement.removeChild(childElement)// Créer un nouvel élément <p> et l'ajouter dans le <div> avec l'ID "conteneur"
let nouveauParagraphe = document.createElement("p");
nouveauParagraphe.textContent = "Ceci est un nouveau paragraphe.";
document.getElementById("conteneur").appendChild(nouveauParagraphe);
// Supprimer un élément existant
document.getElementById("conteneur").removeChild(nouveauParagraphe);
Les évènements permettent de déclencher des actions en réponse aux interactions de l'utilisateur, comme un clic ou le survol de la souris.
.addEventListener("event", function)// Ajouter un écouteur d'évènement au bouton pour afficher une alerte lors d'un clic
let bouton = document.getElementById("monBouton");
bouton.addEventListener("click", function() {
alert("Bouton cliqué !");
});
La manipulation du DOM avec JavaScript est essentielle pour créer des pages web interactives. En accédant et en modifiant les éléments du DOM, il est possible de transformer dynamiquement le contenu, la structure et le style des pages web, offrant ainsi une meilleure expérience utilisateur.