--- title: Element.querySelectorAll() slug: Web/API/Element/querySelectorAll translation_of: Web/API/Element/querySelectorAll browser-compat: api.Element.querySelectorAll --- {{APIRef("DOM")}} La méthode **`querySelectorAll()`** de [`Element`](/fr/docs/Web/API/Element) retourne une [`NodeList`](/fr/docs/Web/API/NodeList) statique (non-dynamique) des éléments correspondants au groupe de sélecteurs CSS spécifiés qui sont des descendants de l'élément sur lequel la méthode a été appelée. ## Syntaxe ```js elementList = parentNode.querySelectorAll(selectors); ``` ### Paramètres - `selectors` - : Une chaîne de caractères [`DOMString`](/fr/docs/Web/API/DOMString) contenant un ou plusieurs sélecteurs à comparer. Cette chaîne doit être valide pour les [sélecteurs CSS](/fr/docs/Web/CSS/CSS_Selectors) ; si ce n'est pas le cas, une exception `SyntaxError` est levée. Voir [Localisation des éléments DOM avec les sélecteurs](/fr/docs/Web/API/Document_object_model/Locating_DOM_elements_using_selectors) pour plus d'informations sur l'utilisation des sélecteurs pour identifier les éléments. Plusieurs sélecteurs peuvent être spécifiés en les séparant par une virgule. > **Note :** Les caractères qui ne font pas partie de la syntaxe CSS standard doivent être échappés à l'aide d'une barre oblique inverse. Puisque JavaScript utilise également l'échappement en retour arrière, un soin particulier doit être pris lors de l'écriture de littéraux de chaîne utilisant ces caractères. Voir [Échappement des caractères](/fr/docs/Web/JavaScript/Reference/Global_Objects/String#échappement_des_caractères) pour plus d'informations. ### Valeur de retour Une [`NodeList`](/fr/docs/Web/API/NodeList) statique contenant un objet [`Element`](/fr/docs/Web/API/Element) pour chaque nœud descendant qui correspond à au moins un des sélecteurs spécifiés au moment où la méthode est appelée. > **Note :** Si les sélecteurs spécifiés avec `selectors` incluent un [pseudo-élément CSS](/fr/docs/Web/CSS/Pseudo-elements), la liste renvoyée est toujours vide. ### Exception - `SyntaxError` - : La syntaxe de la chaîne du `selectors` spécifiée n'est pas valide. ## Exemples ### Obtenir d'une liste de correspondances Pour obtenir une [`NodeList`](/fr/docs/Web/API/NodeList) de tous les éléments [`

`](/fr/docs/Web/HTML/Element/p) contenus dans l'élément `myBox` : ```js let matches = myBox.querySelectorAll("p"); ``` Cet exemple renvoie une liste de tous les éléments [`

`](/fr/docs/Web/HTML/Element/div) dans `myBox` avec une classe `note` ou `alert` : ```js let matches = myBox.querySelectorAll("div.note, div.alert"); ``` Ici, nous obtenons une liste d'éléments `

` du document, dont le parent immédiat est un [`

`](/fr/docs/Web/HTML/Element/div) qui a la classe `highlighted` et qui sont inclus dans un conteneur dont l'`id` est `test` : ```js let container = document.querySelector("#test"); let matches = container.querySelectorAll("div.highlighted > p"); ``` Cet exemple utilise un [sélecteur d'attribut](/fr/docs/Web/CSS/Attribute_selectors) pour renvoyer une liste d'éléments [`