테스트 사이트 - 개발 중인 베타 버전입니다

상위요소 찾기 노드

 

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

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

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

그래서 소스코드 공유합니다.

 

[code]

<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>

[/code]

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 3개

감사합니다~~~

게시판 목록

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.
글쓰기