Localisation des éléments DOM avec les sélecteurs
L'API Selectors fournit des méthodes simples et rapides pour retrouver les noeuds Element
du DOM par correspondance avec un jeu de sélecteurs. C'est beaucoup plus rapide que les techniques passées, pour lesquelles il était nécessaire, par exemple, d'utiliser une boucle en code JavaScript pour localiser l'élément spécifique que l'on devait trouver.
L'interface NodeSelector
Cette spécification ajoute deux nouvelles méthodes à tous les objets mettant en oeuvre les interfaces Document
, DocumentFragment
ou Element
:
querySelector
-
Renvoie le premier noeud
Element
correspondant dans la sous-arborescence du noeud. Si aucun noeud correspondant n'est trouvé,null
est renvoyé. querySelectorAll
-
Renvoie une
NodeList
(liste de noeuds) contenant tous les noeudsElement
correspondants dans la sous-arborescence du noeud, ou uneNodeList
vide si aucune correspondance n'a été trouvée.
Note :
La NodeList
retournée par querySelectorAll()
n'est pas directe. À la différence des autres méthodes de requêtes DOM qui retournent une liste de noeuds directe.
Vous pouvez trouver des exemples et des détails en lisant la documentation sur les méthodes querySelector()
et querySelectorAll()
, ainsi que dans l'article Extraits de code pour querySelector.
Sélecteurs
Les méthodes de Selector acceptent un ou plusieurs sélecteurs séparés par des virgules pour déterminer les éléments à renvoyer. Par exemple, pour sélectionner tous les éléments paragraphe (p
) dans le document dont la classe CSS est soit warning
soit note
, vous pouvez utiliser ce qui suit :
var special = document.querySelectorAll("p.warning, p.note");
Vous pouvez aussi interroger par l'ID (identifiant). Par exemple :
var el = document.querySelector("#main, #basic, #exclamation");
Après l'exécution du code ci-dessus, el
contient le premier élément dans le document dont l'ID est main
, basic
ou exclamation
.
Vous pouvez utiliser tous les sélecteurs CSS avec les méthodes querySelector()
et querySelectorAll()
.