문서 객체 모델(DOM)

문서 객체 모델(DOM)은 메모리에 웹 페이지 문서 구조를 표현함으로써 스크립트 및 프로그래밍 언어와 페이지를 연결합니다. 이때 스크립트는 주로 JavaScript를 의미하나 HTML, SVG, XML 객체를 문서로 모델링 하는 것은 JavaScript 언어의 일부가 아닙니다.

DOM은 문서를 논리 트리로 표현합니다. 트리의 각 브랜치는 노드에서 끝나며, 각 노드는 객체를 갖습니다. DOM 메서드를 사용하면 프로그래밍적으로 트리에 접근할 수 있습니다. 이를 통해 문서의 구조, 스타일, 콘텐츠를 변경할 수 있습니다.

노드는 이벤트 처리기도 포함할 수 있습니다. 이벤트가 발생한 순간, 해당 이벤트와 연결한 처리기가 발동합니다.

참고: 더 알아보려면: DOM 소개 문서를 방문해보세요.

DOM 인터페이스

더 이상 사용하지 않는 DOM 인터페이스

문서객체모델 매우 단순하게 변하고 있습니다. 이를 위해 다른 DOM 레벨 3 혹은 이전 사양에 있었던 아래의 인터페이스들을 제거했습니다. 향후에 이 중 일부가 다시 도입될 지는 확실하지 않지만 당분간은 모두 폐기된 것으로 간주하고 사용을 피해야 합니다.

  • DOMConfiguration
  • DOMErrorHandler
  • DOMImplementationList
  • DOMImplementationRegistry
  • DOMImplementationSource
  • DOMLocator
  • DOMObject
  • DOMSettableTokenList
  • DOMUserData
  • ElementTraversal
  • Entity
  • EntityReference
  • NameList
  • Notation
  • TypeInfo
  • UserDataHandler

HTML DOM

문서는 다양한 HTML 관련 기능들을 포함하는 HTML 명세에 의해 확장된 Document 을 사용해 설명된 HTML 을 포함합니다.

HTML 객체는 또한 Window 인터페이스, 이에 관련된 Style(보통 CSS), 컨텍스트에 관련된 브라우저의 히스토리인 History 를 사용해 페이지가 그려지는 탭이나 창과 같은 브라우저의 다양한 기능들에 접근할 수 있게 해줍니다. 마지막에는, 문서의 Selection (en-US) 이 완료됩니다.

자세한 내용은 HTML DOM API (en-US) 문서를 참고하세요.

SVG 인터페이스

SVG 요소 인터페이스

SVG 데이터 타입 인터페이스

다음은 SVG 프로퍼티와 어트리뷰트 정의에 쓰이는 데이터 타입을 위한 DOM API입니다.

정적 타입

움직이는(animated) 형

SMIL 관련 인터페이스

기타 SVG 인터페이스

명세

Specification
DOM Standard

같이 보기