DOM과 이벤트 처리
DOM (Document Object Model)
DOM은 웹 페이지의 HTML 문서를 계층적인 트리(tree) 형태의 객체로 표현하는 프로그래밍 인터페이스입니다. 이를 통해 자바스크립트를 이용하여 웹 페이지의 내용, 구조, 스타일을 동적으로 변경할 수 있습니다.
DOM의 개념
- 정 의: HTML 문서를 계층적인 구조의 트리(tree) 형태의 객체로 표현한 것입니다. 브라우저는 웹 페이지를 로드할 때 해당 문서에 대한 DOM을 생성합니다.
- 노드(Node): DOM 트리를 구성하는 기본적인 단위로, 문서 안에 들어 있는 요소나 텍스트를 나타냅니다. 노드 간에는 부모, 자식, 형제 관계가 존재합니다.
- DOM 트리 시각화: 웹 브라우저의 개발자 도구를 통해 DOM 트리의 계층적 구조를 확인할 수 있습니다 (예: 오페라에서 '요소 검사'를 통해 확인).
- DOM 처리: 자바스크립트를 활용하여 DOM 트리를 순회하며 페이지 내 요소의 내용, 속성, CSS 스타일을 변경할 수 있습니다.
DOM과 BOM (Browser Object Model)의 관계
- DOM (Document Object Model): HTML 문서를 객체로 표현한 것입니다. document 객체를 통해 HTML 요소에 접근합니다.
- BOM (Browser Object Model): 웹 브라우저를 객체로 표현한 것입니다. window 객체를 최상위로 하여 location, history, screen, frames, navigator 등의 브라우저 관련 객체들을 포함합니다.
- 계층 구조: BOM의 최상위 객체인 window 객체 안에 document 객체(DOM)가 포함되는 구조입니다. 즉, 문서 객체 모델은 브라우저 객체 모델의 자식 객체입니다.