일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- DB연동
- CRUD 게시판
- 서류합격팁
- pandas
- 리스트컴프리헨션
- 간단한채팅프로그램
- 클래스
- python 모듈 설치
- 귀무/대립가설
- 클로저(closure)
- CSS적용방식
- 투표알고리즘
- Python
- Thread
- HTML
- XML읽기
- javascript
- eclipse #python
- CSS
- 나이브베이지안분류
- Process
- AJAX
- 멀티프로세싱
- 통계
- GAC 자격증
- SQL
- 웹스크래핑
- VSCode
- 폴더구조변경
- get/post
- Today
- Total
EASY PEASY CODING
DOM(Document Object Model) 본문
HTML / JAVASCRIPT
자바스크립트는 HTML 조작에 특화된 언어입니다. 그런데 HTML과 자바스크립트는 다른 언어입니다.
어떻게 자바스크립트는 HTML 태그들을 알아보고 조작할 수 있는 걸까요?
자바스크립트가 HTML 조작을 하기 위해선 HTML을 자바스크립트가 해석할 수 있는 문법으로 변환해놓으면 됩니다.
HTML을 자바스크립트가 좋아하는 array 혹은 object 자료형에 담아버리는게 좋지 않을까요?
그래서 실제로 브라우저는 HTML 페이지를 열어줄 때 HTML을 자바스크립트로 쉽게 찾고 바꾸기 위해 object와 비슷한 자료형에 담아줍니다.
예로,
<div style="color : red">DOM에 대해 설명해봅시다</div>
브라우저는 이런 HTML을 발견하면 object 자료로 바꿔서 보관해둡니다.
구체적으로는 var document = { } 이런 변수를 하나 만들어서 거기 넣어줍니다.
그래서
var document = {
div1 : {
style : {color : 'red'}
innerHTML : 'DOM에 대해 설명해봅시다'
}
}
이런식으로 object 자료에 정리를 해놓게 됩니다.
그래서 DOM이란?
위 변수를 document object라고 부릅니다. 여기에 model을 붙여서 Document Object Model이라고 합니다.
요약하자면, 자바스크립트가 HTML에 대한 정보들 (id, class, name, style, innerHTML 등)을 object 자료로 정리한걸 DOM이라고 부릅니다.
DOM(Document Object Model)은 웹 페이지에 대한 인터페이스입니다.
기본적으로 여러 프로그램들이 페이지의 콘텐츠 및 구조, 그리고 스타일을 읽고 조작할 수 있도록하는 API를 제공합니다.
그래서 DOM을 보게 되면 웹 브라우저가 html 페이지를 인식하는 방식을 이야기 하거나 문서 객체(document object)와 관련된 객체의 집합에 관한 이야기라는 것을 쉽게 추측할 수 있습니다.
그래서, 우리가 JavaScript로 구현한 모든 동작들이 대체로 DOM을 수정하기 위한 것이었으며, JavaScript는 브라우저가 읽고 어떤 작업을 할 수 있는 언어인데 DOM은 바로 이 작업이 이루어지는 장소 중 하나인 것으로 이해하면 됩니다.