๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“’ JavaScript

[JS Tam9์ƒํ™œ] #1 DOM

by Tamii 2021. 7. 16.
๋ฐ˜์‘ํ˜•

DOM ( Document Object Model) 

: ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ DOM ๊ตฌ์กฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก  ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜์—ฌ ๊ตฌ์กฐ ๋‚˜ ์Šคํƒ€์ผ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋•๋Š” ์ธํ„ฐํŽ˜์ด์Šค.

์ฐธ๊ณ  :  https://developer.mozilla.org/ko/docs/Web/API/Document_Object_Model/Introduction

- HTML, XML ๋ฌธ์„œ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ interface

- ๋ฌธ์„œ์˜ ๊ตฌ์กฐํ™”๋œ ํ‘œํ˜„์„ ์ œ๊ณต

- ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ DOM์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• ์ œ๊ณต

 

 

DOM์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•

์•„๋ž˜ ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด์„œ 

getElement getElements
querySelector querySelectorAll

 

getElement

document.getElementsByTagName('div’)

document.getElementById('name’)

document.getElementsByClassName('.todo-list')

 

querySelector

์ผ์น˜ํ•˜๋Š” ์ฒซ๋ฒˆ์งธ element

document.querySelector('.search-input-style')

 

 

BOM (Browser Object Model)

: ์›น๋ธŒ๋ผ์šฐ์ €์˜ ๊ธฐ๋Šฅ์„ ๊ฐ์ฒด์ฒ˜๋Ÿผ ๋‹ค๋ฃจ๋Š” ๋ชจ๋ธ

์›น๋ธŒ๋ผ์šฐ์ €์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ์ฒด์ฒ˜๋Ÿผ ๋‹ค๋ฃจ๋Š” ๋ชจ๋ธ๋กœ ์›น์˜ ์ผ๋ถ€๋ถ„์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ

 

window ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ๊ฐ์ฒด
screen ์‚ฌ์šฉ์ž์˜ ๋””์Šคํ”Œ๋ ˆ์ด ์ •๋ณด ๊ฐ์ฒด
location ํ˜„์žฌ ํŽ˜์ด์ง€์˜ url
navigator ์›น๋ธŒ๋ผ์šฐ์ € ๋ฐ ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ ์ •๋ณด ๊ฐ์ฒด
history ํ˜„์žฌ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ ‘๊ทผํ•œ URL ํžˆ์Šคํ† ๋ฆฌ

์˜ˆ์‹œ๋กœ ๋ธ”๋กœ๊ทธ ๊ฐ™์€ ๊ณณ์—์„œ ๊ธ€์„ ์ž‘์„ฑํ•˜๋‹ค๊ฐ€ ๊ป์„ ๋•Œ

window.onbeforeunload = () => '์ž‘์„ฑ ์ค‘์ธ ๋ฉ”์„ธ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค'

์ฐธ๊ณ  ) ํฌ๋กฌ์—์„œ๋Š” ์ € ๋ฉ”์„ธ์ง€๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š๋Š”๋‹ค.

 

 

 

 

์ฆ‰ JS ๋Š”์–ด๋–ค ์ด๋ฒคํŠธ(click ๊ณผ ๊ฐ™์€) ๊ฐ€ ์ผ์–ด๋‚˜๋Š”์ง€ ๊ฐ์‹œํ•˜๋Š” ๊ฒƒ์ด๊ณ  ๊ทธ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ element๊ฐ€ DOM์˜ ๋…ธ๋“œ์ด๋‹ค.

์šฐ๋ฆฌ๋Š” DOM์— ์žˆ๋Š” DOM property๋ฅผ ํ†ตํ•ด์„œ listener๋ฅผ ๋ถ™์—ฌ๋†“์€ ๊ฒƒ 

 

 


๐ŸŽ™๋ฏธ๋‹ˆ ์ธํ„ฐ๋ทฐ ํƒ€์ž„

DOM์ด ์™œ ํ•„์š”ํ•œ๊ฐ€์š”?

: DOM์€ ํ”„๋กœ๋ž˜๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋ฌธ์„œ์š”์†Œ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ๊ตฌ์กฐ๋‚˜ ์Šคํƒ€์ผ์„ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด ๊ผญ ํ•„์š”ํ•œ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.

 

DOM์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•ด๋ณด์„ธ์š”.

: ํฌ๊ฒŒ querySelecotr ์™€ getElement 2๊ฐ€์ง€ ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋Š”๋ฐ์š”, q์—์„œ๋Š” id,ClassName๋“ฑ์„ ์ด์šฉํ•ด ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ณ  , g ์—์„œ๋Š” ์ผ์น˜ํ•˜๋Š” ๊ฐ€์žฅ ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋“ฑ์„ ๊ฐ€์ ธ์™€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

DOM์„ ์กฐ์ž‘ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ๋งํ•ด๋ณด์„ธ์š”.

์ถœ์ฒ˜)https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction

DOM์˜  ๋…ธ๋“œ๋ฅผ ์ด์š”ํ•ด  element๋ฅผ ์„ ์–ธํ•˜๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋Œ“๊ธ€