Baseline Widely available
The closest()
method of the Element
interface traverses the element and its parents (heading toward the document root) until it finds a node that matches the specified CSS selector.
selectors
A string of valid CSS selectors to match the Element
and its ancestors against.
The closest ancestor Element
or itself, which matches the selectors
. If there are no such element, null
.
SyntaxError
DOMException
Thrown if the selectors
is not a valid CSS selector.
<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
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>
Specifications Browser compatibility Compatibility notes
document.createElement(tagName).closest(tagName)
will return null
if the element is not first connected (directly or indirectly) to the context object, for example the Document
object in the case of the normal DOM.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3