๐Ÿ’ก DOM?

DOM (Document Object Model)

์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ๋ณด๋Š” ์›นย ํŽ˜์ด์ง€๋“ค์€ย ํ•ด๋‹น ํŽ˜์ด์ง€์˜ย ๊ฐ๊ฐ์˜ HTML **์š”์†Œ(Element)**๋“ค๋กœ ๊ตฌ์„ฑ๋œย ํ•˜๋‚˜์˜ **๋ฌธ์„œ (Document)**๋ฅผ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ถ„์„ํ•˜์—ฌ ํ™”๋ฉด์— ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ๋„์šด ๊ฒƒ์ด๋‹ค.

์ด๋•Œ, ์ด๋Ÿฌํ•œ HTML ์š”์†Œ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์„œ์˜ย ๊ตฌ์กฐ๋ฅผย ํ”„๋กœ๊ทธ๋ž˜๋ฐย ์–ธ์–ด๊ฐ€ย ์ดํ•ดํ• ย ์ˆ˜ย ์žˆ๋„๋กย ํ‘œํ˜„ํ•œย ๊ฒƒ์ดย ๋ฐ”๋กœ DOM์ด๋‹ค.

img1.daumcdn.jpg

DOM์€ ์š”์†Œ๋“ค์„ ํŠธ๋ฆฌ(Tree) ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•˜๋ฉฐ, ๊ฐ ์š”์†Œ์— ํ•ด๋‹นํ•˜๋Š” **๋…ธ๋“œ(Node)**๊ฐ€ ์กด์žฌํ•œ๋‹ค.

๊ฐœ๋ฐœ์ž๋“ค์€ DOM์ด ์ œ๊ณตํ•˜๋Š” **API(getElementById,, querySelector)**๋ฅผ ์ด์šฉํ•ด ์ด๋Ÿฌํ•œ DOM ๊ตฌ์กฐ์— ์ ‘๊ทผํ•˜๊ณ , ๋‚ด์šฉ์ด๋‚˜ ์Šคํƒ€์ผ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ๊ณผ์ •์„ DOM ์กฐ์ž‘์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

ํฐํŠธ์˜ ์ƒ‰์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์œผ๋กœ DOM ์กฐ์ž‘์˜ ์˜ˆ์‹œ๋กœ ๋“ค๋ฉด,

document.querySelector(โ€˜#titleโ€).style.color = โ€œredโ€;

์ด๋ ‡๋“ฏ DOM์„ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๊ฒƒ์€ ๋‹จ์ˆœํ•œ ์ฝ˜ํ…์ธ  ๋ณ€๊ฒฝ ๋ฟ๋งŒ ์•„๋‹Œ CSS ์žฌ๊ณ„์‚ฐ ๊ฐ™์€ ๋งŽ์€ ์ž‘์—…๋“ค์ด ์š”๊ตฌ๋œ๋‹ค. ์—ฌ๊ธฐ์—์„œ DOM ์กฐ์ž‘์— ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์กฐ๊ฑด ํ•˜์—์„  ํฐ ๋ฌด๋ฆฌ๊ฐ€ ์žˆ๋Š” ์ž‘์—…์€ ์•„๋‹ ์ˆ˜ ์žˆ์ง€๋งŒ