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

상위요소 찾기 노드

· 3년 전 · 2093 · 3

 

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

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개

3년 전
감사합니다~~~
감사합니다 :)
감사합니다

게시글 목록

번호 제목
16429
16424
16423
16412
16408
16407
16401
16395
16394
16391
16390
16389
16387
16386
JavaScript js playground
16382
16381
16377
16374
16372
16356
16355
16354
16353
16347
16346
16339
16338
16332
16331
16330