Numérique et Sciences Informatiques > Internet et le Web > Langages du Web (HTML, CSS, JavaScript - Notions de Base) > JavaScript : interactivité côté client (événements, manipulation du DOM)
Approfondissement de la Manipulation du DOM avec JavaScript
Explorez des techniques avancées de manipulation du DOM pour des applications web plus complexes. Ce guide présente des exemples détaillés et des meilleures pratiques pour gérer dynamiquement les éléments de votre page.
Création et Insertion Dynamique d'Éléments
Au-delà de la simple modification de contenu existant, JavaScript permet de créer dynamiquement de nouveaux éléments HTML et de les insérer dans le DOM. Ceci est essentiel pour construire des interfaces utilisateur dynamiques et réactives. Création d'un élément : On utilise la méthode Définition des attributs et du contenu : Une fois l'élément créé, on peut définir ses attributs ( Insertion dans le DOM : Pour insérer le nouvel élément dans le DOM, on utilise les méthodes Exemple : HTML JavaScriptdocument.createElement(tagName)
pour créer un nouvel élément HTML. Par exemple, pour créer un nouvel élément paragraphe :
const nouveauParagraphe = document.createElement('p');
id
, class
, style
, etc.) et son contenu textuel.
nouveauParagraphe.id = 'nouveauPara';
nouveauParagraphe.className = 'important';
nouveauParagraphe.textContent = 'Ceci est un nouveau paragraphe créé dynamiquement.';
appendChild()
, insertBefore()
, ou replaceChild()
.
appendChild(element)
: Ajoute l'élément à la fin de la liste des enfants d'un élément parent.insertBefore(element, referenceElement)
: Insère l'élément avant un élément de référence spécifique.replaceChild(newElement, oldElement)
: Remplace un élément existant par un nouvel élément.<div id="conteneur"></div>
<script>
const conteneur = document.getElementById('conteneur');
const nouveauParagraphe = document.createElement('p');
nouveauParagraphe.textContent = 'Nouveau paragraphe ajouté.';
conteneur.appendChild(nouveauParagraphe);
</script>
Suppression Dynamique d'Éléments
De même que l'on peut créer et insérer des éléments, il est souvent nécessaire de pouvoir les supprimer dynamiquement du DOM. Ceci est particulièrement utile pour gérer des listes, des messages d'erreur temporaires, ou des éléments qui ne sont plus pertinents. Suppression d'un élément : On utilise la méthode Il faut d'abord sélectionner l'élément à supprimer et son parent. Exemple : HTML JavaScript Une autre approche : La méthode Une méthode plus concise, mais moins largement supportée par les anciens navigateurs, est la méthode removeChild(element)
pour supprimer un élément enfant d'un élément parent.<div id="conteneur"><p id="aSupprimer">Paragraphe à supprimer.</p></div>
<script>
const conteneur = document.getElementById('conteneur');
const paragrapheASupprimer = document.getElementById('aSupprimer');
conteneur.removeChild(paragrapheASupprimer);
</script>
remove()
remove()
directement sur l'élément à supprimer.paragrapheASupprimer.remove();
Manipulation des Attributs des Éléments
Outre la modification du contenu et du style des éléments, il est également possible de modifier leurs attributs ( Accès aux attributs : On utilise la méthode Modification des attributs : On utilise la méthode Suppression des attributs : On utilise la méthode Exemple : Modifier l'attribut HTML JavaScriptid
, class
, src
, href
, etc.).getAttribute(attributeName)
pour récupérer la valeur d'un attribut.const idDeLElement = monElement.getAttribute('id');
setAttribute(attributeName, newValue)
pour définir la valeur d'un attribut.monElement.setAttribute('class', 'nouveauStyle');
removeAttribute(attributeName)
pour supprimer un attribut.monElement.removeAttribute('class');
src
d'une image<img id="monImage" src="image1.jpg" alt="Image">
<script>
const monImage = document.getElementById('monImage');
monImage.setAttribute('src', 'image2.jpg');
</script>
Bonnes pratiques pour la manipulation du DOM
La manipulation du DOM peut avoir un impact significatif sur les performances d'une page web. Il est donc important de suivre quelques bonnes pratiques :
document.getElementById()
).event.target
pour déterminer quel élément a déclenché l'événement.
Ce qu'il faut retenir
document.createElement()
, appendChild()
, insertBefore()
, removeChild()
, setAttribute()
, et getAttribute()
sont essentielles pour la manipulation du DOM.
FAQ
-
Quelle est la différence entre
appendChild()
etinsertBefore()
?
appendChild()
ajoute un élément à la fin de la liste des enfants d'un élément parent.insertBefore()
insère un élément avant un élément de référence spécifique. -
Comment puis-je vérifier si un élément existe avant de le supprimer ?
Vous pouvez utiliser une conditionif
pour vérifier si l'élément est différent denull
avant d'appelerremoveChild()
ouremove()
.