Element: Methode closest()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.
Die closest()
-Methode der Element
-Schnittstelle durchläuft das Element und seine Eltern (in Richtung Dokumentwurzel), bis sie einen Knoten findet, der dem angegebenen CSS-Selektor entspricht.
Syntax
js
closest(selectors)
Parameter
selectors
-
Ein String gültiger CSS-Selektoren, um das
Element
und seine Vorfahren daraufhin zu überprüfen.
Rückgabewert
Das nächste übergeordnete Element
oder das Element selbst, das den selectors
entspricht. Wenn kein solches Element vorhanden ist, null
.
Ausnahmen
SyntaxError
DOMException
-
Wirft eine Ausnahme, wenn die
selectors
kein gültiger CSS-Selektor sind.
Beispiele
>HTML
html
<article>
<div id="div-01">
Here is div-01
<div id="div-02">
Here is div-02
<div id="div-03">Here is div-03</div>
</div>
</div>
</article>
JavaScript
js
const el = document.getElementById("div-03");
// the closest ancestor with the id of "div-02"
console.log(el.closest("#div-02")); // <div id="div-02">
// the closest ancestor which is a div in a div
console.log(el.closest("div div")); // <div id="div-03">
// the closest ancestor which is a div and has a parent article
console.log(el.closest("article > div")); // <div id="div-01">
// the closest ancestor which is not a div
console.log(el.closest(":not(div)")); // <article>
Spezifikationen
Specification |
---|
DOM> # ref-for-dom-element-closest①> |
Browser-Kompatibilität
Loading…
Kompatibilitätsnotizen
- In Edge 15-18 wird
document.createElement(tagName).closest(tagName)
null
zurückgeben, wenn das Element nicht zuerst direkt oder indirekt mit dem Kontextobjekt verbunden ist, z. B. demDocument
-Objekt im Fall des normalen DOM.
Siehe auch
- CSS-Selektoren-Modul
- Andere Methoden der
Element
-Schnittstelle, die Selektoren benötigen:Element.querySelector()
,Element.querySelectorAll()
undElement.matches()
.