TIL 👩🏻‍💻

TIL : DOM

heesue 2021. 3. 18. 17:01

1. DOM (Document Object Model)

- HTML(Document)에 접근하여 Object처럼 HTML을 조작할 수 있는 모델 (웹 페이지에 대한 프로그래밍 인터페이스)

- document 객체를 통해 HTML에 접근한다.

 

→ DOM 구조 조회 : console.dir


2. CREATE - createElement

HTML 요소를 만들어 반환

const newDiv = document.createElement('div')

※ 참고

DOM 객체에 대한 다수의 접근을 필요로 하는 작업을 할 때 Document.createDocumentFragment()를 이용하면 성능이 향상될 수 있다.


3. APPEND - append, appendChild, prepend

createElement만 했을 때는 새로 만들어진 newDiv 노드가 연결되지 않은 상태이므로 append를 이용해 DOM 구조와 연결해준다.

document.body.append(newDiv)

※ append vs prepend

append는 요소 내부의 끝 부분에 삽입 / prepend는 요소 내부의 시작 부분에 삽입

 

  append() appenChild()
타입 Javascript 메서드 DOM 메서드
추가 노드 개수 n개 1개
입력값 Node 객체 + DOMString 객체 Node 객체
반환값 없음 (undefined) 추가한 노드 객체

 


4. READ - querySelector, querySelectorAll

· querySelector : tag, id, class 등 선택자와 일치하는 요소 반환

· querySelectorAll : querySelector와 같은 기능 + 여러 요소 반환

· 이외에도 get으로 시작하는 getElementById, getElementsByClassName 등이 있다. querySelector와 기능은 비슷하며 이전 브라우저(인터넷 익스플로러) 호환 시 사용한다.

const Input = document.querySelector('.input')

5. UPDATE - textContent, classList.add, setAttribute

· textContent : 텍스트 노드를 추가한다.

newDiv.textContent = 'dev';
console.log(newDiv) //<div>dev</div>

· classList.add : 클래스 속성을 삽입한다.

· setAttribute(name, value) : 속성을 설정한다.

 

※ innerHTML

innerHTML은 텍스트와 HTML 요소들을 가져와 수정할 수 있지만 보안이 취약하기 때문에 보통 textContent를 사용한다.


6. DELETE - remove, removeChild

newDiv.remove()
newDiv.removeChild()

'TIL 👩🏻‍💻' 카테고리의 다른 글

TIL : CSS Selector  (0) 2021.03.20
TIL : 유효성 검사  (0) 2021.03.19
TIL : Algorithm Basic  (0) 2021.03.18
TIL : 고차함수  (0) 2021.03.16
TIL : Twittler 목업 구현하기  (0) 2021.03.15