💡 DOM(Document Object Model) 정리
웹 개발에서 반드시 알아야 할 핵심 개념 중 하나인 DOM에 대해 간단하고 실질적인 관점으로 정리해봤습니다.
📌 DOM이란?
- **DOM(Document Object Model)**은 웹 브라우저가 HTML 문서를 읽고 객체 구조로 변환한 것.
- 이 구조를 통해 JavaScript로 HTML 요소를 조작할 수 있게 됨.
- 쉽게 말하면, HTML = 정적 문서 → DOM = 살아있는 문서(조작 가능)
🧩 DOM 조작의 주요 단계
DOM을 다루는 핵심은 접근 → 변경 or 조작 이다!
1. 요소 접근하기
1️⃣ getElementById - 아이디로 접근
특정 id를 가진 하나의 요소에 접근가능
2. 클래스 접근하기
2️⃣ getElementsByClassName - 클래스로 접근 (HTMLCollection)
동일한 클래스를 가진 여러 요소에 접근합니다. 반복문으로 하나씩 처리할 수 있음.
3️⃣ 특정 요소 하위의 클래스 요소만 선택
특정 요소의 하위에서만 .className을 찾아야 할 때 유용함.
4️⃣ querySelector, querySelectorAll - CSS 선택자 방식
CSS 선택자 방식으로 더 정교하게 요소를 선택할 수 있음.
querySelector, querySelectorAll은 CSS 선택자 형태의 문자열만 파라미터로 받는 함수
✅ querySelector(selector)
- CSS 선택자 문법을 사용하는 함수
- 조건에 맞는 첫 번째 요소만 리턴
- 즉, 배열을 받는 게 아니라 문자열을 받음 (예: ".c1", "#x1", "ul > li" 등)
- 항상 하나의 요소 또는 null만 반환
✅ querySelectorAll(selector)
- 이것도 CSS 선택자를 쓰지만,
- 조건에 맞는 모든 요소를 NodeList 형태로 반환
- 반복문 돌릴 수 있어 (for...of, forEach 등 사용 가능)
5️⃣ children - 자식 요소 접근
특정 요소의 자식들만 순회할 수 있음
6️⃣ parentElement - 부모 요소 접근
지정된 요소의 부모 노드에 접근할 수 있음.
7️⃣ closest() - 가장 가까운 조상 요소 선택
자기 자신부터 시작해서 가장 가까운 조상 중에서 지정한 선택자를 찾음.
자바스크립트가 HTML 요소를 작동시키고 조작하려면, DOM은 필수적인 요소
웹 페이지에서 HTML의 구조를 자바스크립트로 제어하려면, 브라우저가 그 HTML을 DOM 객체로 변환한 뒤 그 객체를 다루는 방식으로 작업을 해야 함.
💡 DOM을 이해하는 핵심 포인트
- HTML은 정적인 마크업일 뿐
- 예를 들어, <div>나 <button> 같은 HTML 태그들은 그 자체로 정적이지, 동적으로 어떤 동작을 하게 만들지는 못해.
- DOM은 HTML을 객체로 변환한 모델
- 브라우저가 HTML을 읽어서 그 내용을 DOM 트리(객체 형태)로 바꿔놓음. 그 DOM 트리는 자바스크립트에서 제어할 수 있음
- 자바스크립트는 DOM을 통해 HTML 요소를 동적으로 수정
- 예를 들어, 버튼 클릭 시 텍스트가 바뀌거나, 새로운 콘텐츠를 추가하거나, 스타일을 바꾸는 등의 작업은 자바스크립트가 DOM을 통해 HTML을 조작하기 때문에 가능하다
🧩 DOM 없이는 자바스크립트로 HTML을 조작할 수 없어!
자바스크립트가 HTML을 "작동"하게 만든다는 건, HTML 문서의 구조와 내용을 동적으로 바꾸고 제어하는 걸 의미하는데, 그게 가능하려면 DOM이 있어야만 함. DOM을 통해 HTML의 요소를 찾아내고, 그 요소를 조작할 수 있기 때문임.
JQuery 사용법
jQuery
What is jQuery? jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.
jquery.com

google CDN 들어가서
첫번째 줄 복사한다음에 head에다 넣기!
'중앙정보기술인재개발원 > HTML&CSS&JS' 카테고리의 다른 글
| [JS] | 비동기, Promise,async,await (0) | 2025.04.23 |
|---|---|
| [JS] | 클로저, Closer (0) | 2025.04.22 |
| [JS] | 변수,연산자,조건문 (1) | 2025.04.21 |
| [HTML] | 기초정리, 태그, layout (0) | 2025.04.21 |
| [CSS] 클래스, 아이디, 우선순위 (0) | 2025.04.16 |