Contenu du cours
Maîtrise Avancée de JavaScript
Maîtrise Avancée de JavaScript
Interroger le DOM
Introduction à l'interrogation du DOM
L'interrogation du DOM implique la sélection et l'accès à des éléments spécifiques dans le document afin que vous puissiez les manipuler ou interagir avec eux. JavaScript fournit plusieurs méthodes pour interroger les éléments, chacune ayant son propre cas d'utilisation et comportement.
GetElementById
getElementById
est utilisé pour sélectionner un seul élément par son ID unique. C'est l'une des méthodes les plus couramment utilisées car les ID sont censés être uniques dans le document.
Cas d'utilisation : Idéal pour sélectionner un élément spécifique lorsque vous connaissez son ID.
Retourne : Un seul élément ou null
si aucun élément n'est trouvé.
GetElementsByClassName
getElementsByClassName
sélectionne les éléments par leur nom de classe et retourne une HTMLCollection dynamique d'éléments.
Cas d'utilisation : Utile lorsque vous devez sélectionner plusieurs éléments avec la même classe.
Retourne : Une HTMLCollection dynamique des éléments correspondants, qui se met à jour si le DOM change.
Limitations : Ne peut pas utiliser directement les méthodes de tableau ; doit être converti en tableau si nécessaire.
GetElementsByTagName
getElementsByTagName
sélectionne les éléments par leur nom de balise (par exemple, div
, p
) et renvoie une HTMLCollection dynamique.
Cas d'utilisation : Idéal pour sélectionner tous les éléments d'un type particulier.
Renvoie : Une HTMLCollection dynamique d'éléments.
Limitations : Non spécifique, car il sélectionne tous les éléments d'une balise donnée dans le contexte.
QuerySelector
querySelector
sélectionne le premier élément qui correspond à un sélecteur CSS. Il est polyvalent, vous permettant d'utiliser n'importe quel sélecteur CSS valide pour trouver des éléments.
Cas d'utilisation : Idéal pour sélectionner la première correspondance de n'importe quel sélecteur CSS.
Renvoie : Le premier élément correspondant ou null
si aucune correspondance n'est trouvée.
QuerySelectorAll
querySelectorAll
séléctionne tous les éléments correspondant à un sélecteur CSS et renvoie une NodeList statique. Contrairement à d'autres méthodes, elle ne se met pas à jour dynamiquement si le DOM change.
Cas d'utilisation : Parfait pour sélectionner plusieurs éléments avec des sélecteurs complexes.
Renvoie : Une NodeList statique d'éléments qui ne se met pas à jour automatiquement.
Différences entre ces méthodes
Types de retour
Collections dynamiques vs. statiques
Sélecteurs CSS
Performance
Exemple Pratique : Validation de Formulaire
Combinons ces méthodes dans un scénario pratique : mettre en évidence les champs de formulaire invalides en utilisant des classes.
index.html
index.css
index.js
La méthode getElementById
sélectionne l'élément du formulaire, tandis que querySelectorAll
récupère tous les champs d'entrée avec la classe .input-field
. Un écouteur d'événement sur l'événement "submit" du formulaire empêche la soumission par défaut et vérifie chaque champ d'entrée. Si un champ est vide, il est mis en évidence avec une bordure rouge, tandis que les champs remplis obtiennent une bordure verte, fournissant un retour visuel immédiat à l'utilisateur.
1. Quelle méthode utiliseriez-vous pour sélectionner un élément par son ID unique ?
2. Si vous souhaitez sélectionner le premier élément avec la classe box
et obtenir son attribut id
, quelle méthode utiliseriez-vous ?
3. Dans le code HTML suivant, quelle sera la sortie de console.log(contentEls.length);
?
Merci pour vos commentaires !