<section>
    <div id="div-01">
        <div id="div-02">
            <div id="me">me</div>
        </div>
    </div>
</section>
const me = document.getElementById("me");

console.log(me.closest(".container")); // <div id="div-02" class="container">...</div>
console.log(me.closest("section > div")); // <div id="div-01" class="container">...</div>

/* 해당 요소 자신도 검사 대상에 포함됩니다. */
console.log(me.closest("div")); // <div id="me">...</div>

/* 일치하는 요소가 없으면 null을 반환합니다. */
console.log(me.closest("p")); // null
element.closest(selectors)
<div class="container">
    <ul class="list">
        <li class="item">
            <span>Item 1</span>
        </li>
        <li class="item">
            <span>Item 2</span>
        </li>
    </ul>
</div>
const spanElement = document.querySelector("span");
const closestListItem = spanElement.closest("li");

if (closestListItem !== null) {
    console.log(closestListItem); // 출력: <li class="item">...</li>
} else {
    console.log("일치하는 요소가 없습니다.");
}
closest() 함수의 브라우저 호환성
메서드
데스크탑 Chrome
Chrome
데스크탑데스크탑 Edge
Edge
데스크탑 Firefox
Firefox
Safari
Safari
closest() 41 15 35 6

caniuse.com에서 더 자세한 정보를 확인해 보세요.