document.querySelector()

Renvoie le premier élément qui correspond à un sélecteur CSS, ou null si rien ne correspond.

Renvoie
Le premier élément correspondant, ou null.
Sur cette page

Exemple

#
JavaScript
const first = document.querySelector('.task')
const todo = document.querySelector('.task:not(.done)')
const last = document.querySelector('.tasks li:last-child')

console.log(first)
console.log(todo.textContent)
console.log(last.textContent)
console.log(document.querySelector('.missing'))
Console
<li class="task done">
CSS
JavaScript
null

Définition et utilisation

#

La méthode querySelector() parcourt le document et renvoie le premier élément qui correspond au sélecteur CSS donné. Vous pouvez utiliser n’importe quel sélecteur connu des feuilles de style : "#menu", ".card", "nav a", "input[type=email]" ou "li:last-child".

Si aucun élément ne correspond, la méthode renvoie null. Lire une propriété de null déclenche une erreur, donc pour les éléments qui pourraient être absents de la page, vérifiez le résultat ou utilisez l’opérateur ?..

Vous pouvez appeler la méthode non seulement sur document, mais aussi sur n’importe quel élément. Elle ne cherche alors qu’à l’intérieur de celui-ci, ce qui est pratique pour les fragments de page répétés, comme des cartes de cours. Pour récupérer tous les éléments correspondants, utilisez querySelectorAll().

Syntaxe

#
Syntaxe
document.querySelector(selectors)
element.querySelector(selectors)

Paramètres

#
  • selectors

    chaîne

    Un sélecteur CSS, par ex. "#menu" ou ".card h3". Séparez plusieurs sélecteurs par des virgules.

Plus d’exemples

#
Chercher à l’intérieur d’un élément
JavaScript
const cssCard = document.querySelector('#css-course')
const price = cssCard.querySelector('.price')

console.log(cssCard)
console.log(price.textContent)
Console
<article id="css-course" class="card">
59 €
Une lecture sûre avec ?.
JavaScript
const banner = document.querySelector('.promo-banner')

console.log(banner?.textContent ?? 'Aucune bannière sur la page')
console.log(document.querySelector('#save').textContent)
Console
Aucune bannière sur la page
Enregistrer

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • Vérifiez le résultat avant de l’utiliser, ou utilisez ?.. Une faute de frappe dans le sélecteur se termine par une erreur « Cannot read properties of null ».
  • Cherchez à l’intérieur d’un élément précis (card.querySelector()) quand la page contient plusieurs fragments similaires.
  • Un identifiant qui commence par un chiffre demande un échappement particulier dans un sélecteur. Dans ce cas, il est plus simple d’utiliser getElementById().

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.