[JS] 4. DOM 제어 (1)

김주희's avatar
Apr 02, 2025
[JS] 4. DOM 제어 (1)

1. DOM 요소 선택

1. DOM이란

  1. Document Object Model
  1. HTML이나 XML을 트리 구조로 표현한 것
  1. 브라우저는 HTML을 로드하면 DOM을 만든다.
  1. <body>영역은 DOM으로 관리한다.
  1. DOM을 통해 브라우저 상의 HTML 요소를 동적으로 제어 가능하다.
    1. 이벤트 감지 및 처리
    2. HTML 내용 변경
    3. CSS 변경
(CSS와 JavaScript는 문법은 같지만 브라우저별 함수가 다를 수 있다.)

2. DOM 요소 선택

1. querySelector()

  1. id로 dom을 찾게 될 경우 unique하기 때문에 단일 요소를 선택하는 querySelector함수를 사용한다.

1-1. 예제

  1. id가 demo인 dom을 querytSelector를 통해 찾는다.
  1. innderHTML
    1. dom을 찾아서 그 사이에 값을 끼워 넣을 때 사용한다.
<!DOCTYPE html> <html> <body> <h2>My First Page</h2> <p id="demo"></p> <script> // id로 찾았으니까 오브젝트이다 let demoDom = document.querySelector("#demo"); demoDom.innerHTML = "HelloWorld"; </script> </body> </html>
 

2. querytSelectorAll()

  1. class로 dom을 찾게 될 경우 여러 개의 dom을 찾게 되므로 여러 요소를 선택하는 querySelectorAll함수를 사용한다.

2-1. 예제

  1. class가 demo1인 dom들을 querySelectorAll를 통해 찾는다.
  1. querytSelectorAll는 NodeList를 반환한다.
  1. NodeList
    1. 유사 배열 객체
    2. 배열처럼 인덱스로 접근할 수 있다.
<!DOCTYPE html> <html> <body> <h2>My Second Page</h2> <p class="demo1"></p> <p class="demo1"></p> <p class="demo2"></p> <script> let demo1DomList = document.querySelectorAll(".demo1"); console.log(demo1DomList); let d1 = demo1DomList[0]; let d2 = demo1DomList[1]; d1.innerHTML = "Hello"; d2.innerHTML = "World"; let demo2Dom = document.querySelector(".demo2"); demo2Dom.innerHTML = "Good"; </script> </body> </html>
notion image
notion image
 

3. 그 외

  1. 다음과 같은 함수는 사용하지 말고 querySelector, querySelectorAll만 사용한다.
    1. notion image
 
 
Share article

jay0628