Node
Node (문서 트리의 단일 노드)
Node 인터페이스는 전체 Document Object Model(DOM)의 기본 데이터 타입이에요. 문서 트리에서 단일 노드를 나타내요.
본문
Node 인터페이스를 구현하는 모든 객체는 자식을 다루는 메서드를 노출하지만, 모든 객체가 자식을 가질 수 있는 것은 아니에요. 예를 들어 Text 노드는 자식을 가질 수 없고, 그런 노드에 자식을 추가하면 DOMException이 발생해요.
nodeName, nodeValue, attributes 속성은 구체적인 파생 인터페이스로 캐스팅하지 않고도 노드 정보를 얻을 수 있는 메커니즘이에요. 특정 nodeType에 대해 이들 속성이 명확하게 대응되지 않는 경우(예: Element의 nodeValue, Comment의 attributes)에는 null을 반환해요.
노드 타입은 다음 상수로 구분돼요: 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.
자식 관리 메서드로는 insertBefore, replaceChild, removeChild, appendChild가 있고, 트리 탐색을 위한 getParentNode, getChildNodes, getFirstChild, getLastChild, getPreviousSibling, getNextSibling, getOwnerDocument가 있어요. 문서 상대 위치를 비교하는 compareDocumentPosition과 사용자 데이터를 다루는 setUserData, getUserData도 제공해요.