부트캠프/TIL

코드스테이츠 프론트엔드 부트캠프 Day 16 - DOM

하이고니 2023. 1. 5. 10:39

DOM: Doucument Object Model

HTML 요소를 JavaScript Object처럼 조작할 수 있는 Model.

 


 

아주 간단한 CRUD 설명

 

C: Create

R: Read

U: Update

D: Delete

 


C

 

document.createElement('div')

새로운 <div> 요소를 만든다.

const newDiv = document.createElement('div')
document.body.append(newDiv)

새로 만든 <div>요소를 변수에 할당해 그 변수를 body의 자식으로 집어 넣는다.

 


R

DOM으로 HTML 엘리먼트의 정보를 조회하기 위해서는, querySelector의 첫 번째 인자로 셀렉터를 전달하여 확인해야 한다.

셀렉터에는 HTML 요소("div"), id("#myID"), class(.myClass) 세 가지가 가장 많이 사용된다.

 

querySelector는 같은 것들 중 첫 번째 엘리먼트를 조회하기 때문에, 여러 개의 요소를 한 번에 가져오기 위해서는, 

querySelectorAll을 사용해야한다. 이렇게 조회한 HTML 요소들은 배열처럼 for문을 사용할 수 있다. 하지만 배열은 아니다.

유사 배열, 배열형 객체라고 하고 정식 명칭은 Array-like Object다.

 


U

const newDiv = document.createElement('div')
document.body.append(newDiv)

newDiv.textContent = 'Hello'	// 텍스트 추가
console.log(newDiv)	// <div>Hello</div>

newDiv.classList.add('newStyle')	// 클래스 추가
console.log(newDiv)	// <div class="newStyle">Hello</div>

이런 식으로 class 지정해서 스타일링할 수 있다.

 


D

newDiv.remove()