[특강] DOM 기초 - 최원장 튜터님
🚩 학습 목표
[강의] 자바스크립트 심화
🚩 학습 목표
✅ 체크 리스트
DOM(Document Object Model)
DOM을 알기 위해, 웹페이지가 브라우저에 보이는 과정을 살펴보면서 시작해보자.
HTML 문서에 대한 모델 구성
HTML 문서 내의 각 요소에 접근 / 수정
- DOM의 모든 노드는 노드 간 이동, 수정 등을 가능하게 해주는 메서드와 속성(property)을 가지고 있다.
※ HTML 태그의 속성은 attribute라고 함.
※ method는 호출의 주체가 있다. 예) person.getAge( )
함수는 혼자서 실행된다. 예) getAge( )
노드 트리의 가장 상위에는 단 하나의 root node를 가진다.
루트 노드를 제외한 모든 노드는 단 하나의 parent node를 가진다.
부모 노드(parent node) 하위에는 자식 노드(childe node)가 위치하며, 자식 노드는 여러 개가 될 수 있기 때문에 접근하기 위해서는 인덱스 번호를 붙여준다.
🔎 node vs element
- 자바스크립트의 DOM을 다루다보면 자주 접할 수 있는 node와 element의 차이점은 ?
DOM 문서는 node의 계층적인 구조로 이루어진다. 이 때 node는 요소(element), 텍스트, 주석 등등을 다 포함하고 있으며 element는 node의 유형 중 하나인 것이다.
주로, < p >, < div > 같은 태그를 사용해서 작성된 노드를 말한다.
우리가 자바스크립트에서 DOM을 탐색하고 조작할 때는, node의 다른 형태인 주석이나 텍스트보다 주로 element를 조작하는 경우가 많다.
DOM을 조작하는 방법에는 node를 탐색하는 방법과 element를 탐색하는 방법이 있는데
element를 탐색하는 방법을 사용하면 주석이나 텍스트 등을 제외한 element만을 탐색할 수 있기 때문에 DOM을 조작할 때는 주로 element를 탐색하는 방법을 많이 사용한다.
- node를 탐색하는 방법 :parentNode
,nextSibling
,childNodes
…
- element를 탐색하는 방법 :getElementsByTagName
,getElementsByClassName
,getElementById
,querySelector
…