Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Element : méthode closest()

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis avril 2017.

La méthode closest() de l'interface Element traverse l'élément et ses parents (en direction de la racine du document) jusqu'à ce qu'elle trouve un nœud correspondant au sélecteur CSS défini.

Syntaxe

js
closest(selectors)

Paramètres

selectors

Une chaîne de caractères de sélecteurs CSS valides pour correspondre à un Element et à ses ancêtres.

Valeur de retour

L'ancêtre le plus proche de Element ou lui-même, qui correspond aux selectors. S'il n'y a pas un tel élément, null est retourné.

Exceptions

SyntaxError DOMException

Levée si la chaîne de caractères selectors n'est pas un sélecteur CSS valide.

Exemples

HTML

html
<article>
  <div id="div-01">
    Voici div-01
    <div id="div-02">
      Voici div-02
      <div id="div-03">Voici div-03</div>
    </div>
  </div>
</article>

JavaScript

js
const el = document.getElementById("div-03");

// l'ancêtre le plus proche avec l'identifiant "div-02"
console.log(el.closest("#div-02")); // <div id="div-02">

// l'ancêtre le plus proche qui est un div dans un div
console.log(el.closest("div div")); // <div id="div-03">

// l'ancêtre le plus proche qui est un div et qui a un article parent
console.log(el.closest("article > div")); // <div id="div-01">

// l'ancêtre le plus proche qui n'est pas un div
console.log(el.closest(":not(div)")); // <article>

Spécifications

Spécification
DOM
# ref-for-dom-element-closest①

Compatibilité des navigateurs

Notes de compatibilité

  • Pour Edge 15-18, document.createElement(tagName).closest(tagName) retourne null si l'élément n'est pas d'abord connecté (directement ou indirectement) à l'objet de contexte, par exemple l'objet Document dans le cas du DOM classique.

Voir aussi