HTML

HTML.DOM과 Document

calla1013 2025. 5. 24. 17:08

HTML DOM과 Document 객체: 자바스크립트로 웹 페이지 제어하기

안녕하세요! 웹 개발의 심화 과정으로 진입하는 중요한 관문, 바로 HTML DOM(Document Object Model)과 이를 다루는 핵심 객체인 Document 객체에 대해 알아보는 시간입니다. 자바스크립트가 웹 페이지의 HTML 요소를 직접 제어할 수 있게 해주는 마법 같은 기술이죠.


목차

  1. HTML DOM이란 무엇인가?
  2. DOM 트리의 구조와 HTML 페이지의 관계
  3. Document 객체: 웹 페이지의 문지기
  4. HTML 요소(DOM 객체)에 접근하는 방법
  5. HTML 요소 다루기: 동적인 웹 페이지 만들기
  6. 마무리하며

1. HTML DOM이란 무엇인가?

HTML DOM은 웹 페이지를 자바스크립트가 이해하고 조작할 수 있도록 객체 모델 형태로 표현하는 것입니다.

자바스크립트가 사용하는 3가지 객체 유형

  • BOM (Browser Object Model): window, history, screen
  • 코어 객체: Array, Date, Math
  • DOM (Document Object Model): HTML 문서를 트리 구조로 표현

2. DOM 트리의 구조와 HTML 페이지의 관계

HTML은 계층 구조를 가지며, DOM은 이를 트리 형태로 객체화합니다.

  • 요소 노드: HTML 태그
  • 텍스트 노드: 태그 안의 텍스트
  • 속성 노드: 태그의 속성

DOM을 통해 부모-자식 관계로 요소를 찾고 조작할 수 있습니다.

<html>
  ├─ <head>
  └─ <body>
       ├─ <div>
       └─ <p>텍스트</p>

3. Document 객체: 웹 페이지의 문지기

Document 객체는 웹 페이지의 루트 객체로 모든 HTML 요소에 접근하는 관문입니다.

Document 객체의 주요 역할

  • 문서 상태 확인 (document.readyState)
  • HTML 요소 생성/삭제/변경
  • 이벤트 핸들링
  • 요소 검색

4. HTML 요소(DOM 객체)에 접근하는 방법

Document 객체는 다양한 메서드를 통해 HTML 요소에 접근할 수 있습니다:

<p id="myParagraph" class="text-content">안녕하세요!</p>
<div class="box">첫 번째 박스</div>
<div class="box">두 번째 박스</div>

<script>
  // ID로 접근
  let paragraph = document.getElementById("myParagraph");
  console.log(paragraph.textContent); // "안녕하세요!"

  // Class로 접근
  let boxes = document.getElementsByClassName("box");
  console.log(boxes[0].textContent); // "첫 번째 박스"

  // CSS 선택자 사용
  let firstBox = document.querySelector(".box");
  console.log(firstBox.textContent);
</script>

5. HTML 요소 다루기: 동적인 웹 페이지 만들기

콘텐츠 및 스타일 변경

paragraph.textContent = "Hello, World!";
paragraph.style.color = "blue";
paragraph.style.fontSize = "20px";

속성 변경

paragraph.setAttribute("title", "소개 문장");
console.log(paragraph.getAttribute("title"));

요소 생성 및 삭제

// 요소 생성
let newDiv = document.createElement("div");
newDiv.textContent = "동적으로 생성된 DIV";
newDiv.style.backgroundColor = "yellow";

// 부모 요소에 추가
let parent = document.getElementById("container");
parent.appendChild(newDiv);

// 삭제
parent.removeChild(newDiv);

6. 마무리하며

HTML DOM과 Document 객체는 정적인 HTML을 동적인 웹 애플리케이션으로 변화시키는 핵심 도구입니다. 자바스크립트를 통해 요소를 선택하고, 조작하며, 새로 생성하고 삭제하는 방법을 익힌다면, 사용자와 상호작용하는 진정한 웹 페이지를 만들 수 있습니다.

지금부터 자주 써보고 직접 예제를 구현해 보세요. 반복해서 연습하면 DOM 조작 능력은 눈에 띄게 향상될 것입니다!


'HTML' 카테고리의 다른 글

HTML.윈도우와 브라우저 관련 객체  (0) 2025.05.25
HTML.이벤트 기초 및 활용  (0) 2025.05.25
HTML.자바스크립트 코어 객체와 배열  (5) 2025.05.24
HTML.자바스크립트 기초  (0) 2025.05.24
HTML.고급 CSS  (0) 2025.05.24