퍼블리싱/javascript&jQuery

[javascript]자바스크립트 부모, 자식, 형제 노드 찾기

도라미도라미 2020. 8. 26. 14:35

매번 뭐였지 찾게 되는 자바스크립트 부모, 자식, 형제 찾기.. 처음에는 제이쿼리로 굉장히 익숙한데 자바스크립트로는 어떻게 해야하는지 한참 찾았던 기억이 있어요. 그래서 한번 정리해두려고 합니다.  

 

01. 자바스크립트 자식 찾기 ( childNodes )

 

HTML

1
2
3
4
5
<div id="parent">
    <div id="child01"></div>
    <div id="child02"></div>
    <div id="child03"></div>    
</div>
cs

 

JAVASCRIPT

1
2
3
4
5
6
7
8
var first = parent.childNodes;
// 모든 자식들 찾아 변수에 담기
var first = parent.firstChild;
// 첫번째 자식 찾아 변수에 담기
var last = parent.lastChild;
// 마지막 자깃 찾아 변수에 
cs

 

모든 자식은 .childNodes

첫번째 자식은 .firstChild

마지막 자식은 .lastChild

 

02. 자바스크립트 부모 찾기 ( parentNode )

 

JAVASCRIPT

1
2
3
4
5
var child01 = document.getElementById("child01");
//자식(id='child01')하나를 변수에 담기
var parent = child01.parentNode;
// 자식의 부모를 변수에 
 
cs

 

03. 자바스크립트 형제 찾기 ( Sibling )

JAVASCRIPT

1
2
3
4
5
6
7
var child02 = document.getElementById("child02");
//자식(id='child01')하나를 변수에 담기
var preSibling = child02.previousSibling;
// 변수에 담은 요소의 이전 형제를 찾아 변수에 담기
var nexSibling = child02.nextSibling;
// 변수에 담은 요소의 다음 형제를 찾아 변수에 담기
 
cs

 

04. 부모의 이전형제를 찾을땐? 

HTML

1
2
3
4
5
6
7
8
<div id="box01">
    <div id="one"></div>
    <div id="two">
        <p id="me">here</p>
    </div>
    <div id="three"></div>    
</div>
 
cs

JAVASCRIPT

1
2
3
4
var me = document.getElementById("me");
//나를 찾아 변수에 담기
var answer = me.parentNode.previousSibling;
//answer = one
cs

부모의 부모의 경우도 .parentNode.parentNode 요렇게 연속되게 적어주면 된다.