javascript - Element.closest() 함수란?

yuri·2021년 3월 11일

Element.closest()

기준 Element 에서부터 closest() 메소드를 통해 자신부터 부모 요소 단위로 출발하여 각 요소가 지정한 선택자에 만족할 때까지 탐색한다. 이 중 가장 가깝게 조건에 만족한 부모 요소가 반환되며, 조건에 만족한 요소가 없으면 null 값을 반환한다.

Syntax

var closestElement = targetElement.closest(selectors);

Example

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <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>
</body>
<script>
    var el = document.getElementById('div-03');
    console.log("el", el);

    var r1 = el.closest("#div-02");
    // id=div-02 조건이 만족하므로 속성을 가진 부모 요소가 반환된다.
    console.log("r1", r1);

    var r2 = el.closest("div div");
    // div 요소에 만족한 요소 중 div 자식을 가리키므로, id=div-03 자신이 만족된다.
    console.log("r2", r2);

    var r3 = el.closest("article > div");
    // 가장 가까운 article 요소 바로 하위의 div 요소 id=div-01 속성을 가진 요소가 반환된다.
    console.log("r3", r3);

    var r4 = el.closest(":not(div)");
    // div 요소가 아닌 가장 가까운 부모 article 요소가 반환된다.
    console.log("r4", r4);
</script>

</html>

Result


https://developer.mozilla.org/ko/docs/Web/API/Element/closest

profile
Step by step goes a long way ✨

0개의 댓글