DOM : 문서를 동적으로 다루는 방법
자바스크립트로 문서 객체(DOM)을 조작할 수 있다. 그렇다면 DOM이란 무엇일까?
문서 객체 모델(Document Object Model, DOM)은 HTML 및 XML 문서를 처리하는 API이다. 문서의 구조적 형태를 제공하므로 자바스크립트(JavaScript)와 같은 스크립트 언어를 사용하여 문서 내용과 시각적 표현을 수정할 수 있다.
DOM 메서드
메서드 | 설명 |
---|---|
document.getElementById(id명) | 아이디를 사용해 문서 객체(요소) 선택 |
document.querySelector(CSS 선택자) | CSS 선택자를 사용하는 방식(IE 8 이상) |
document.getElementsByTagName(태그명) | 태그명으로 여러 문서 객체 선택 |
document.getElementsByClassName(클래스명) | 클래스명으로 여러 문서 객체 선택(IE 9 이상) |
document.querySelectorAll(CSS 선택자) | CSS 선택자로 여러 문서 객체 선택(IE 9 이상) |
1. getElementById : id명을 사용하는 방식
이 메서드는 요소에 접근하는 가장 빠른 방식으로, 하나의 요소만 선택하는 방식이다.
1 | <h1 id="title">여기를 변경해주세요.</h1> |
실행결과
See the Pen xzwwPx by SoyeonJung (@je_ss2) on CodePen.
html 문서 내에서 id명이 title
인 문서 객체를 선택하고 JavaScript에서 title
변수에 반영한 후 문서 객체 스타일을 변경하는 등 문서를 조작한다.
2. querySelector : CSS 선택자를 사용하는 방식
CSS 선택자를 사용하는 방식은 편리하지만 가장 첫 번쨰 요소만 선택할 수 있다.
1 | <li>first</li> |
실행결과
See the Pen rKOxpM by SoyeonJung (@je_ss2) on CodePen.
3. getElementsByTagName : 태그명으로 여러 문서 객체 선택
태그명으로 문서 객체를 선택하는 방식이다. 태그는 문서 내에서 중복 사용할 수 있으므로 작성한 만큼 배열로 판단한다.
1 | <ul> |
실행결과
See the Pen ZRbbmd by SoyeonJung (@je_ss2) on CodePen.
4. getElementsByClassName : 클래스명으로 여러 문서 객체 선택
클래스명으로 문서 객체를 선택하는 방식이다. 클래스는 문서 내에서 중복 사용할 수 있으므로 작성한 만큼 배열로 판단한다.
1 | <div class="select"> |
실행결과
See the Pen XYmmvb by SoyeonJung (@je_ss2) on CodePen.
5. querySelectorAll : CSS 선택자로 여러 문서 객체 선택
CSS 선택자로 여러 문서 객체를 선택할 수 있다.
1 | <div> |