정의

DOM이란?

The Document Object Model HTML, XML 문서의 프로그래밍 인터페이스 웹 브라우저가 HTML 페이지를 인식하는 방식

특징

  • 프로그래밍 언어가 문서구조에 접근할 수 있는 방법 제공
  • tree 구조로 각 Element를 관리

웹페이지(Document) 렌더링 프로세스

image

  • DOM : HTML 요소들을 구조화
  • CCSOM(Cascading Style Sheets Object Model) : 요소들과 연관된 스타일 정보의 구조화
  • Render Tree : 각 요소들을 트리구조화
  • 이후 프로세스 : Tree를 Document로 렌더링

DOM 에서 script의 사용

  • 각 브라우저 별로 DOM 이 구현되어 있다.
  • <script> 요소 사용
<head>
<title> DOM </title>
<script type= "text/javascript">
	//script 내용...
</script>
</head>
  • window 또는 document elements를 위한 API 사용
<body onload="window.alert('welcome to my home page!');">

node

  • tree 구조에서 root 노드를 포함한 모든 개개의 개체
  • head, body, script, h1 …. 등등

중요 개념

Window

  • 해당 창에 로드된 DOM 문서
  • document.defaultView, window 속성으로 주어진 문서에 대한 창 접근 가능
  • Window interface 정보

Document

  • 브라우저가 불러온 웹 페이지
  • 페이지 콘텐츠의 진입점 역할 수행
  • 모든 종류의 문서에 대한 공통의 속성과 메서드를 묘사
  • document 속성으로 현재 페이지의 Document 접근 가능
  • Document interface 정보

Element

웹페이지, XML 페이지 스크립팅에서 사용하는 공통 API

API명 기능
document.getElementById(id) 주어진 id를 가진 요소의 참조를 반환한다.
document.getElementsByTagName(name) 주어진 태그명을 갖는 요소의 목록을 반환한다
document.createElement(name) 주어진 태그명을 사용해 새로운 요소를 생성한다.
parentNode.appendChild(node) 부모 노드에 하위 노드를 추가한다.
element.innerHTML 요소 콘텐츠의 마크업을 나타낸다.
element.setAttribute 현재 노드의 명명된 속성 값을 설정한다.
element.getAttribute 현재 노드에서 명명된 속성의 값을 반환한다.
element.addEventListener 요소의 특정 이벤트 유형에 이벤트 처리기를 등록한다.

연결문서

댓글남기기