Document Object Model(문서 객체 모델).
줄글로 나와 있는 코드를 트리구조로 바꿔주는 모델
객체 지향 모델. 구조화된 문서를 표현하는 형식을 제공해서 프로그래밍 언어가 문서 구조, 스타일, 내용 등을 변경할 수 있게 한다.
💬 DOM은 프로그래밍 언어와 독립적이다. -주로JS를 사용하지만, DOM의 구현은 다른 언어에서도 가능하다.
웹 페이지를 의미한다.
웹페이지에 존재하는 HTML 요소에 접근하고자 할 때는 반드시 document객체부터 시작해야 한다.
HTML 요소의 선택
document.getElementById()
document.getElementsByClssName()
document.getElementsByTagName()
document.getElementsByName()
: 해당 name속성값을 가지는 요소 선택
document.querySelectorAll()
document.querySelector()
: 해당 선택자로 선택되는 첫번째 요소 선택. 아이디는 #, 클래스는 . 을 먼저 써줘야한다.
HTML 요소의 생성
document.createElement()
: 지정된 html요소를 생성 ->object
document.write()
: html 출력 스트림을 통해 텍스트 출력
HTML 이벤트핸들러 추가
요소.onclick = function() {}
: 해당 요소 클릭시 해당 함수 실행
HTML 객체의 선택
document.querySelector('.category.tMargin > .ribbon > a').href
: category tMargin클래스 아래의 ribbon클래스 아래의 a태그 의 href속성 을 선택
HTML DOM에서 정보를 저장하는 계층적 단위
노드타입의 property값은 텍스트가 아닌 숫자로 표현된다.
요소 노드 : 1
속성 노드 : 2
텍스트 노드 : 3
주석 노드 : 8
문서 노드 : 9
웹 브라우저가 알려주는 HTML요소에 대한 사건의 발생
이벤트가 발생했을 때 그 처리는 담당하는 함수
지정된 이벤트가 발생하면, 웹 브라우저는 그 요소에 등록된 이벤트 핸들러를 실행시킨다.
(개발자가 등록만 해주면 웹 브라우저가 알아서 실행시켜준다)