
DOM(Document Object Model)은 HTML 문서를 객체화한 구조로, 각 HTML 태그와 그 안의 내용을 노드(Node)로 표현한다. DOM의 계층적 구조는 DOM 트리로 비유되며, 이를 이해하면 HTML 문서의 태그와 내용을 더욱 효과적으로 조작할 수 있다.
HTML 문서는 계층 구조로 이루어져 있으며, DOM 트리로 표현된다. 이 구조는 각 태그를 노드(Node)로 변환하여 표현한다.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Example</title>
</head>
<body>
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<script src="script.js"></script>
</body>
</html>
위 HTML 문서를 DOM 트리로 표현하면 다음과 같다:
document: DOM 트리의 최상위 노드.html: document의 자식 노드이자 최상위 요소 노드.head와 body: html의 자식 노드이며 형제 관계.head의 자식: <meta> 태그와 <title> 태그.body의 자식: <h1>, <h2>, <script> 태그.<body>는 <h1>의 부모 노드.<h1>과 <h2>는 서로 형제 노드.<h1>은 자식 노드이며, 텍스트인 "Heading 1"은 텍스트 노드로 <h1>의 자식.DOM 트리를 구성하는 노드(Node)는 여러 가지 타입이 있다. 그중에서 가장 중요한 두 가지는 요소 노드(Element Node)와 텍스트 노드(Text Node)이다.
<html>, <head>, <body>, <h1>, <script>.<!-- This is a comment -->
DOM은 총 12가지 노드 타입으로 구성되지만, 실제로 자주 사용되는 것은 다음 두 가지이다:
요소 노드(Element Node)
대부분의 DOM 조작은 요소 노드에서 이루어진다.
텍스트 노드(Text Node)
요소 노드 안의 텍스트를 다룰 때 사용된다.
그 외의 노드 타입은 특정 상황에서만 사용되며, 사용 빈도가 낮다.
DOM 트리는 주로 요소 노드와 텍스트 노드로 구성되므로, 이 두 타입에 대한 이해가 가장 중요하다.