DOM (Document Object Model) 문서 객체 모델 이란 무엇인가.
한글자씩 알아보자
D는 Document 즉 문서이다.
문서 객체 모델은 문서가 없으면 움직이지 않는다.
웹 문서를 만들어 웹 브라우저에 띄우는 순간 DOM이 살아 움직이기 시작한다.
작성된 문서가 객체로 변경되기 때문이다.
O는 객체이다.
자바스크립트에는 세 종류의 객체가 있다.
1.사용자 정의 객체
2.배열,수학,날짜와 같이 자바스크립트에서 이미 만들어진 객체
3.웹 브라우저가 제공하는 주요객체
자바스크립트 초기에는 중요한 몇가지 주요 객체들이 스크립트 제작에 사용되었다.
그 중 가장 기본적인 것이 윈도우 객체(window object)이다.
이러한 객체는 웹 브라우저 창 내부의 속성을 표현한 것으로 브라우저 객체모델(BOM, Browser Object Model)
이라고도 불린다.
브라우저 객체 모델은 주로 window.open 이나 window.blur 같은 것을 말한다.
이러한 내용은 DOM의 내용에서 벗어난 주제이다.
DOM은 브라우저 창 안의 웹문서 내용을 다루는 문서(document)객체가 대상이다.
BOM -> 브라우저 창 안의 속성
DOM -> 브라우저 창 안의 웹문서 내용
M은 모델이다
DOM에서 사용하는 가장 중요한 규칙은 문서를 나뭇가지(tree)형 구조로 표시하는 것이다.
이러한 구조도는 (X)HTML에서 문서를 가장 잘 표현하는 방법이다.
<html>은 모든 요소의 부모
<head>와 <body> 는 형제관계
이런 식으로 부모/자식 관계를 맺어가는 것이 기본적인 document 구조이다.
이러한 형태를 노드트리 라 부른다.
node : 어떤 연결망에서 특정 지점과 지점을 연결하는데 표시하는것을 말함. 네트웍은 노드의 집합을 말한다.
현실 세계에서 모든 것은 원자로 구성되어 있다.
원자는 세상의 노드라고 할 수 있으며 원자보다 작은 양성자나 전자 등도 노드라고 부를수 있다.
DOM도 마찬가지임. 문서는 노드의 집합으로, 문서라는 나무 위에 가지나 잎같은 노드를 갖고 있는 것이라 할 수 있다.
정리하자면
- 문서는 트리 구조를 지닌 객체들의 모음임
- 요소, 속성, 텍스트 등 다양한 형식의 노드가 있다
- getElementById를 사용하면 특정 아이디를 가진 요소에 바로 접근할 수 있다.
- getElementsByTagName을 사용하면 특정 태그를 가진 요소에 바로 접근할 수 있다.
- getAttribute를 사용하면 원하는 요소에 접근후에 해당 요소의 속성을 얻을수있다.
- setAttribute를 사용하면 원하는 노드의 속성값을 바꿀 수 있다.
- 이러한 노드들은 모두 객체다.
'Programming > JavaScript' 카테고리의 다른 글
일치 연산자 (0) | 2012.05.17 |
---|---|
setInterval (0) | 2012.05.10 |
잘못된 비교 연산자의 사용 (0) | 2012.05.09 |
자바스크립트 비교 연산자 (0) | 2012.05.09 |
자주 사용하는 이스케이프 문자 (0) | 2012.05.09 |