본문 바로가기
소프트웨어 개발/javascript

javascript - 상위요소 찾기 상위 부모노드 찾기

by 인생은즐겁게 2022. 1. 20.
반응형

순수 자바스크립트로 상위요소 찾는 코드입니다.

jquery로 하면 쉽게할 수 있지만 그렇지 못한 환경에서는

이러한 코드가 필요할 수 있습니다.

 

<html>
<head>

</head>

<body>

<div class="parent_node">
    <div id="my_elm">test</div>
</div>



<script>
function collectionHas(a, b) { //helper function (see below)
    for(var i = 0, len = a.length; i < len; i ++) {
        if(a[i] == b) return true;
    }
    return false;
}

function findParentBySelector(elm, selector) {
    var all = document.querySelectorAll(selector);
    var cur = elm.parentNode;
    while(cur && !collectionHas(all, cur)) { //keep going up until you find a match
        cur = cur.parentNode; //go up
    }
    return cur; //will return null if not found
}

var my_elm = document.getElementById("my_elm"); //
var selector = ".parent_node";
var parent = findParentBySelector(my_elm, selector);

console.log(parent);
</script>
</body>



</html>
반응형

댓글