1. 문서 객체 모델

 

1) 문서 객체 모델(DOM; Document Object Model)

- 웹 브라우저가 HTML 문서를 인식하는 방식

- 좁은 의미로는 JavaScript에서 document 객체와 관련된 객체의 집합

- 브라우저는 HTML 문서의 내용을 해석해서 DOM 트리를 구축하고 DOM에 있는 내용이 브라우저 화면에 표시된다.

  스타일시트나 JavaScript 프로그램에서 내용을 조작하는 것은 DOM에 포함된 내용을 조작하는 것이고 DOM에 포함      된 내용을 조작하면 브라우저 화면에 표시되는 내용이 바뀐다.

 

 

2) HTML DOM에서 모든 것은 노드(node)이다.

- HTML 문서는 문서 노드(document node)

- HTML 요소는 요소 노드(element node)

- HTML 속성은 속성 노드(attribute node)

- HTML 요소 안의 텍스트는 텍스트 노드(text node)

- 주석은 주석 노드(comment node)

 

 

 

2. Document, Element 객체

 

1) Document 객체

- HTML 문서에서 최상위 노드

- 웹 브라우저는 HTML 문서를 읽어 들여서 Document 객체로 생성

- Document 객체는 HTML 문서에 포함된 모든 노드를 포함

 

 

 

2) Element 객체

- DOM에서 HTML 요소, 즉 요소 노드는 Element 객체로 표현

- Element 객체는 자식 노드를 가질 수 있다.

 

 

3) window 객체 vs document 객체 vs Element 객체

- window 객체: 브라우저(browser)를 표현하는 객체

- document 객체: 문서(document)를 표현하는 객체

- Element 객체: HTML 요소(element)를 표현하는 객체

 

 

3. HTML 문서의 조작

- Document 객체와 Element 객체를 통해 HTML 문서를 조작

 

  • 탐색(찾기)
  • 참조(읽어오기)
  • 수정(고치기)
  • 추가(끼워 넣기)
  • 생성(새로 만들기)
  • 삭제(지우기)

 

4. document 객체의 속성

 

 

5. document 객체의 HTML 요소 탐색 메서드

 

 

JavaScript에서 제공하는 메서드(함수) 중에서 가장 부담이 큰 것은 바로 이 탐색 관련 메서드이다,

따라서 가능하면 탐색을 적게 하는 것이 좋다!

 

 

 

6. document 객체의 나머지 메서드