Chapter 10 DOM
DOM은 XML 및 HTML 문서용 API입니다. 이는 텍스트 노드 조작을 위한 속성과 메서드를 지정하고 특정 구현은 각 브라우저에서 구현됩니다.
1. 노드 계층
1) 문서 노드: 문서, 각 문서의 루트 노드입니다.
2) 문서 요소: 요소는 문서의 가장 바깥쪽 요소이자 문서 노드의 첫 번째 하위 노드입니다.
3) 노드 유형:
①노드는 DOM에 있는 다양한 노드 유형의 기본 유형으로 동일한 기본 속성과 메소드를 공유합니다.
□ Node.Element_NODE(1);
□ Node.ATTRIBUTE_NODE(2);
□ Node.TEXT_NODE(3)
□
□ Node. ENTITY_REFERENCE_NODE(5);
□ Node.ENTITY_NODE(6);
□ Node.COMMENT_NODE(8); 🎜>□ Node.DOCUMENT_TYPE_NODE(10);
□ Node.DOCUMENT_FRAGMENT_NODE(11);
□ Node.NOTATION_NODE(12)
각 노드의 nodeType 속성은 다음과 같은 유형을 반환합니다. 상수 .
노드 유형은 nodeType 속성을 숫자 값과 비교하여 얻을 수 있습니다.
②nodeName 및 nodeVlue 속성.
③childNodes 속성에는 각 노드의 하위 노드 정보가 저장되고, childNodes 속성에는 NodeList 객체가 저장됩니다.
□ 배열과 유사한 객체인 NodeList 객체는 길이 속성을 가지지만 Array의 인스턴스는 아닙니다.
□ NodeList의 노드에 액세스하려면 대괄호를 사용하거나 item() 메서드를 사용할 수 있습니다.
var firstChild = someNode.ChildNodes[0];
var secondChild = someNode.ChildNodes.item(1);
var count = someNode.childNodes.length;
□ NodeList를 배열 객체로 변환합니다.
function ConvertToArray(nodes){
var array = null;
try{
array = Array.prototype.slice.call(nodes,0); //IE가 아님
}catch ( 예){
array = new Array();
for(var i = 0,len = node.length; i array.push(nodes[i]);
}
} return array;
}
④parentName 속성: 문서 트리의 상위 노드를 가리킵니다.
⑤previousSibling 속성 및 nextSibling 속성: 이전/다음 형제 노드.
⑥firstChild 속성 및 lastChild 속성: 이전/다음 하위 노드.
7hasChildNodes() 메서드: 하위 노드가 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
8appendChild() 메서드: childNodes 목록 끝에 자식 노드를 추가하고 새로 추가된 노드를 반환합니다.
⑨insertBefore() 메소드: 두 개의 매개변수: 삽입할 노드와 참조로 사용되는 노드. 새로 추가된 노드를 반환합니다.
⑩replaceChild() 메서드: 두 개의 매개 변수: 삽입할 노드와 교체할 노드. 새로 추가된 노드를 반환합니다.
⑾removeChild() 메서드: 노드를 제거합니다.
⑿cloneNode() 메서드: 부울 값을 허용합니다. true는 깊은 복사, 노드 및 하위 노드 복사를 의미합니다. false는 얕은 복사를 의미하며 자체 노드만 복사합니다.
⒀nomalize() 메서드: 문서 트리의 텍스트 노드를 처리합니다.
4) 문서 유형(문서 객체의 경우)
①문서 유형은 HTMLDocument 유형의 인스턴스인 문서를 나타내며 전체 HTML 페이지를 나타냅니다. 문서 개체는 창 개체의 속성이며 전역 개체로 액세스할 수 있습니다.
②documentElement 속성. 이 속성은 항상 HTML 페이지의
요소를 가리킵니다.
③body 속성은
요소를 직접 가리킵니다. ④doctype 속성: 다양한 브라우저에서 지원되는
에 액세스합니다. 제한된 사용.