Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 프레임워크
- Dependency Injection
- 노션
- @Autowired
- 스프링부트 에러
- 기계학습
- aop
- 스프링 프레임워크
- 백기선 강좌
- 강좌 정리
- 지도학습
- 스프링 빈
- 비지도학습
- krpano
- express
- 스프링
- 노션 Formula
- database error
- 노드
- 의존성주입
- jetbrains
- express-generator
- timezone error
- Proxy 패턴
- 딥러닝
- syncronized
- 강화학습
- PSA
- IoC 컨테이너
- Do It 정직하게 코딩하며 배우는 딥러닝 입문
Archives
- Today
- Total
hyungmuk's blog
DOM이란 무엇인가 본문
오늘 javascript를 공부하려고 하는 직장 동료 한분이 나에게 이런 질문을 했다.
'DOM이 뭐예요?'
순간 어떻게 설명을 해야할지 막혀서, 잘 대답해 드리지 못한 것 같아서 내가 알고 있는 DOM에 대해서 이렇게 글로 정리를 해 보았다.
DOM은 Document Object Model을 말한다.
즉, 문서(HTML)를 객체로 모형화 한 것이다.
이렇게 말하니 더 어렵고 헷갈리게 느껴질수도 있을 것같은데 아래 HTML 구조와 DOM구조를 보라.
- HTML 구조
- DOM 구조
DOM은 위와 같이 Javascript의 Object형식으로 표현되어진다.
HTML과 DOM은 위와 같이 다른 모습을 하고 있지만, 서로 같은 정보를 지니고 있다.
그리고 이 둘은 서로 상호작용한다.
MDN문서를 보면 DOM에 대해 아래와 같이 설명하고 있다.
DOM 이란?
쉽게 말하자면 DOM은 Javascript로 html을 조작하기 위해 존재한다는 것이다.
그렇다고 해서 html을 직접 조작하는 것은 아니고, dom을 접근해 조작하므로써 html에 변화가 일어난다.
- DOM 접근
document.querySelector('title')
- DOM 조작
document.querySelector('title').innerText = "제목"
- HTML 반영 (HTML 렌더링 이라고도 한다)
이 세 단계를 통해서 HTML을 조작 할 수 있다.
DOM에는 위에서의 innerText 와 같이, HTML을 조작하기 위한 API(method 및 property)가 존재한다. 이 다양한 API를 사용해서 HTML 요소의 추가 삭제 등 다양한 조작이 가능하다.
그러므로 DOM에 대해 이해했다면, DOM API를 다양하게 사용해보면서 Javascript를 공부하길 바란다.