1. 노드 프로퍼티
- nodeName
nodeName 프로퍼티는 특정 노드의 이름을 포함한 문자열을 반환한다.
name = node.nodeName
특정 노드가 요소 노드이면 nodeName 프로퍼티는 그 요소의 이름을 반환한다.
이 경우 tagName 프로퍼티와 같은 값을 가진다.
텍스트 노드이면 nodeName 프로퍼티는 “#text” 라는 문자열을 반환한다.
읽기 전용이고 값을 바꾸거나 변경할 수 없다.
- nodeType
nodeType 프로퍼티는 특정 노드의 형식을 지정하는 정수 값을 반환한다.
integer = node.nodeType
경우에 따라 열 두가지의 값이 반환된다.
각 숫자는 nodeType에 해당하는 노드의 종류를 알려준다.
- ELEMENT_NODE
- ATTRIBUTE_NODE
- TEXT_NODE
- CDATA_SECTION_NODE
- ENTITY_REFERENCE_NODE
- ENTITY_NODE
- PROCESSING_INSTRUCTION_NODE
- COMMENT_NODE
- DOCUMENT_NODE
- DOCUMENT_TYPE_NODE
- DOCUMENT_FRAGMENT_NODE
- NOTATION_NODE
웹 문서 내에 요소들과 속성 그리고 텍스트 노드를 찾아내는 것이 가장 자주 사용하는 방법이기 때문에
12가지 중에 처음 세 가지는 매우 중요하다.
nodeType 프로퍼티도 읽기 전용.
- noteValue
nodeValue 프로퍼티는 특정 노드의 값을 문자열로 반환한다.
value = node.nodeValue
만약 노드의 종류가 속성 노드이면 속성 값을,
텍스트 노드이면 텍스트 내용을,
요소 노드이면 빈(null) 값을 반환한다.
nodeValue 프로퍼티는 읽고 쓰기가 가능하다.
빈 값이면 값을 설정 할 수 없다.
nodeValue 프로퍼티를 이용하는 것은 텍스트 노드 값을 설정하는데 가장 간단한 방법.
2. 노드 내부 구조 보기
- childNodes
childNodes 프로퍼티는 특정 요소 노드의 자식 노드를 배열 값으로 반환.
nodeList = node.childNodes
nodeList에는 node의 자식 노드들이 배열로 저장되어 있는데, nodeList의 각 값들은 객체다.
일반적으로 nodeType, nodeName, nodeValue 같은 노드 프로퍼티로 구성되어있다.
텍스트 노드와 속성 노드는 자식 노드가 없다. 이런 경우 childNodes는 빈 값을 포함한 배열이 반환된다.
노드 내에 자식 노드가 있는지 확인하려면 hasChildNodes 메소드를 사용하면 된다.
- firstChild
firstChild 프로퍼티는 지정 요소 노드의 첫 번째 자식 노드를 반환한다. 읽기전용.
reference = node.firstChild
- lastChild
lastChild 프로퍼티는 지정 요소 노드의 마지막 자식 노드를 반환.
reference = node.lastChild
- nextSibling
nextSibling 프로퍼티는 지정 노드의 다음 노드를 반환한다. 읽기 전용.
reference = node.nextSibling
지정 노드 뒤에 따라오는 노드가 없으면 nextSibling 프로퍼티는 빈 값을 반환한다.
- parentNode
parentNode 프로퍼티는 지정 노드의 부모 노드를 반환. 읽기 전용.
reference = node.parentNode
자식 노드를 가질 수 있는 노드는 요소 노드밖에 없기 때문에 반환되는 노드는 항상 요소 노드이다.
예외적인 경우는 부모가 없는 최상위 노드인 document 밖에 없다.
이 경우 parentNode 는 빈 값을 반환한다.
- previousSibling
previousSibling 프로퍼티는 지정 노드의 앞의 노드를 반환.
reference = node.previousSibling
지정 노드 앞의 노드가 없다면 previousSibling 프로퍼티는 빈 값을 반환.
역시 읽기 전용.
'JavaScript > DOM Script' 카테고리의 다른 글
유용한 DOM 메소드 (0) | 2013.01.30 |
---|---|
속성 다루기. (0) | 2011.08.10 |
노드 찾기. (0) | 2011.08.10 |