---
title: Element.matches()
slug: Web/API/Element/matches
tags:
- API
- DOM
- Selector
translation_of: Web/API/Element/matches
---
{{ APIRef("DOM") }}
`La méthode `**`element.matches()`** renvoie `true` lorsque l'élément peut être sélectionné par le sélecteur défini par la chaîne passée en paramêtre; sinon, elle renvoie `false`.
> **Attention :** Certains navigateurs implémentent cette méthode sous le nom `matchesSelector()` non-standardisé et préfixé.
## Syntaxe
var result = element.matches(selectorString);
- `result` contient la valeur retournée `true` ou `false`.
- `selectorString` est une chaîne définissant le sélecteur à tester sur l'élément.
## Exemple
```html
- perroquet amazone
- aigle des Philippines
- pélican blanc
```
Ce code affichera l'alerte "Le - aigle des Philippines - est en voie de disparition !" sur la console, puisque l'élèment possède l'attribut` class `de valeur `endangered`.
## Exceptions
- `SYNTAX_ERR`
- : Lorsque la chaîne passée en paramêtre défini sélecteur invalide.
## Polyfill
Pour les navigateurs qui ne supportent pas `Element.matches()` ou `Element.matchesSelector()`, mais fournissent le support de` document.querySelectorAll()`, il existe un _polyfill_ :
if (!Element.prototype.matches) {
Element.prototype.matches =
Element.prototype.matchesSelector ||
Element.prototype.mozMatchesSelector ||
Element.prototype.msMatchesSelector ||
Element.prototype.oMatchesSelector ||
Element.prototype.webkitMatchesSelector ||
function(s) {
var matches = (this.document || this.ownerDocument).querySelectorAll(s),
i = matches.length;
while (--i >= 0 && matches.item(i) !== this) {}
return i > -1;
};
}
Cependant, étant donné la possibilité de prendre en charge les anciens navigateurs, les éléments suivants devraient suffire pour la plupart (sinon tous) des cas pratiques (c'est-à-dire le support IE9 +).
```html
if (!Element.prototype.matches) {
Element.prototype.matches = Element.prototype.msMatchesSelector;
}
```
## Spécification
| Spécification | Status |
| -------------------------------------------------------------------------------------------------------- | -------------------------------- |
| {{SpecName('DOM WHATWG', '#dom-element-matches', 'Element.prototype.matches')}} | {{Spec2('DOM WHATWG')}} |
## Compatibilité des navigateurs
{{Compat("api.Element.matches")}}
## Voir aussi
- [La syntaxe des sélecteurs](/fr/Apprendre/CSS/Introduction_%C3%A0_CSS/Les_s%C3%A9lecteurs)
- autres méthodes qui utilisent les sélecteurs : {{domxref("element.querySelector()")}} et {{domxref("element.closest()")}}.