노드(node) 종류, 노드 간 관계의 종류

CODEDRAGON Development/JavaScript, jQuery, ...

반응형


 

노드(node) 종류

W3C HTML DOM 표준에 따르면, HTML 문서의 모든 것은 노드입니다.

HTML 문서를 구성하는 대표적인 노드의 종류는 다음과 같습니다.

 

종류

설명

문서 노드

(document node)

HTML 문서 전체를 나타내는 노드입니다.

요소 노드

(element node)

모든 HTML 요소는 요소 노드이며, 속성 노드를 가질 수 있는 유일한 노드입니다.

속성 노드

(attribute node)

모든 HTML 요소의 속성은 속성 노드이며, 요소 노드에 관한 정보를 가집니다.

하지만 해당 요소 노드의 자식 노드(child node)에는 포함되지 않습니다.

텍스트 노드

(text node)

HTML 문서의 모든 텍스트는 텍스트 노드입니다.

주석 노드

(comment node)

HTML 문서의 모든 주석은 주석 노드입니다.

 


 

DOM 구조도

http://codedragon.tistory.com/5667

 

 

 


 

노드 간 관계의 종류

노드 트리의 모든 노드는 트리(tree) 형태의 서로 계층적 관계를 맺고 있습니다.

트리의 모든 요소는 자신만의 텍스트나 속성을 가질 수 있습니다.

 

관계 종류

설명

루트 노드

(root node)

·       노드 트리의 가장 상위에는 단 하나의 루트 노드(root node)가 존재합니다.

부모 노드

(parent node)

·       루트 노드를 제외한 모든 노드는 단 하나의 부모 노드(parent node)만을 가집니다.

·       부모(parent) 요소는 여러 개의 자식(child) 요소를 가질 수 있습니다.

자식 노드

(child node)

·       모든 요소 노드는 자식 노드(child node)를 가질 수 있습니다.

·       자식(child) 요소는 단 하나의 부모(parent) 요소만을 가집니다.

형제 노드

(sibling node)

·       같은 부모 노드를 가지는 모든 노드를 가리킵니다.

·       형제(sibling) 요소는 같은 트리 레벨(tree level)에 존재하는 요소를 가리킵니다.

·       , 형제 요소란 같은 부모(parent) 요소를 가지는 자식 요소 간의 관계를 나타냅니다.

조상 노드

(ancestor node)

·       부모 노드를 포함해 계층적으로 현재 노드보다 상위에 존재하는 모든 노드를 가리킵니다.

·       부모 요소를 포함해 계층적으로 현재 요소보다 상위에 존재하는 모든 요소를 가리킵니다.

자손 노드

(descendant node)

·       자식 노드를 포함해 계층적으로 현재 노드보다 하위에 존재하는 모든 노드를 가리킵니다.

·       자식 요소를 포함해 계층적으로 현재 요소보다 하위에 존재하는 모든 요소를 가리킵니다.