Introduction to the DOM - Lee-hyuna/33-js-concepts-kr GitHub Wiki

Introduction to the DOM

๋ฒˆ์—ญ : https://www.digitalocean.com/community/tutorials/introduction-to-the-dom

Introduction

์ผ๋ฐ˜์ ์œผ๋กœ ** DOM **์ด๋ผ๊ณ ํ•˜๋Š” ** ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ **์€ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋Œ€ํ™”์‹์œผ๋กœ ๋งŒ๋“œ๋Š” ํ•„์ˆ˜์ ์ธ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์›น ์‚ฌ์ดํŠธ์˜ ๋‚ด์šฉ, ๊ตฌ์กฐ ๋ฐ ์Šคํƒ€์ผ์„ ์กฐ์ž‘ ํ•  ์ˆ˜์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. JavaScript๋Š” ์ธํ„ฐ๋„ท ๋ธŒ๋ผ์šฐ์ €์—์„œ DOM์— ์—ฐ๊ฒฐํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด์ž…๋‹ˆ๋‹ค.

์›น ์‚ฌ์ดํŠธ๊ฐ€ ์ด๋ฏธ์ง€์˜ ์Šฌ๋ผ์ด๋“œ ์‡ผ๊ฐ„์— ํšŒ์ „ํ•˜๊ฑฐ๋‚˜, ์‚ฌ์šฉ์ž๊ฐ€ ๋ถˆ์™„์ „ํ•œ ์–‘์‹์„ ์ œ์ถœํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์˜ค๋ฅ˜๋ฅผ ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜, ํƒ์ƒ‰ ๋ฉ”๋‰ด๋ฅผ ์ „ํ™˜ํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฑฐ์˜ ์–ธ์ œ๋“ ์ง€ JavaScript๊ฐ€ DOM์— ์•ก์„ธ์Šคํ•˜๊ณ  ์กฐ์ž‘ ํ•œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” DOM์ด ๋ฌด์—‡์ธ์ง€,document ๊ฐ์ฒด๋กœ ์ž‘์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•, HTML ์†Œ์Šค ์ฝ”๋“œ์™€ DOM์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๊ฒŒ๋ฉ๋‹ˆ๋‹ค.

** ์ฐธ๊ณ  : ** DOM์€ ์–ธ์–ด์— ๊ตฌ์†๋ ฅ์ด ์—†๊ฑฐ๋‚˜ ํŠน์ • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์ง€๋งŒ์ด ๋ฆฌ์†Œ์Šค ์ „์ฒด์—์„œ JavaScript์˜ HTML DOM ๊ตฌํ˜„์— ์ดˆ์ ์„ ๋งž์ถ”๊ณ  ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

Prerequisites

DOM์„ ํšจ๊ณผ์ ์œผ๋กœ ์ดํ•ดํ•˜๊ณ  ์ด๊ฒƒ์ด ์›น ์ž‘์—…๊ณผ ์–ด๋–ป๊ฒŒ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ์ดํ•ดํ•˜๋ ค๋ฉด HTML์— ๋Œ€ํ•œ ๊ธฐ์กด ์ง€์‹์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ CSS๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ๊ทผ๋ณธ์ ์ธ JavaScript ๊ตฌ๋ฌธ ๋ฐ ์ฝ”๋“œ ๊ตฌ์กฐ ์— ์ต์ˆ™ํ•œ ๊ฒƒ๋„ ์œ ์ตํ•ฉ๋‹ˆ๋‹ค.

What is the DOM?

๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์ˆ˜์ค€์—์„œ ์›น ์‚ฌ์ดํŠธ๋Š” HTML ๋ฌธ์„œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋ณด๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €๋Š” HTML๊ณผ CSS๋ฅผ ํ•ด์„ํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ํŽ˜์ด์ง€์— ์Šคํƒ€์ผ, ๋‚ด์šฉ ๋ฐ ๊ตฌ์กฐ๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.

๋ธŒ๋ผ์šฐ์ €๋Š” HTML๊ณผ CSS์˜ ์Šคํƒ€์ผ๊ณผ ๊ตฌ์กฐ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ์ด๋ผ๋Š” ๋ฌธ์„œ์˜ ํ‘œํ˜„์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋ฉด JavaScript๊ฐ€ ์›น ์‚ฌ์ดํŠธ ๋ฌธ์„œ์˜ ํ…์ŠคํŠธ ๋‚ด์šฉ๊ณผ ์š”์†Œ์— ๊ฐ์ฒด๋กœ ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

JavaScript๋Š” ๋Œ€ํ™” ํ˜• ์–ธ์–ด์ด๋ฏ€๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ƒˆ๋กœ์šด ๊ฐœ๋…์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค. ์•„์ฃผ ๊ธฐ๋ณธ์ ์ธ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. index.html ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ์ƒˆ ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅํ•˜์‹ญ์‹œ์˜ค.

<!DOCTYPE html>
<html lang="en">

  <head>
    <title>Learning the DOM</title>
  </head>

  <body>
    <h1>Document Object Model</h1>
  </body>

</html>

์ด ์ฝ”๋“œ๋Š” ์ƒˆ๋กœ์šด ์›น ์‚ฌ์ดํŠธ ๋ผˆ๋Œ€์˜ ์ต์ˆ™ํ•œ HTML ์†Œ์Šค์ž…๋‹ˆ๋‹ค. doctype๊ณผhead์™€body๊ฐ€ ๋‚ด๋ถ€์—์žˆ๋Š”html ํƒœ๊ทธ๊ฐ€ ์›น ์‚ฌ์ดํŠธ ๋ฌธ์„œ์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” Chrome ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ์ตœ์‹  ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋น„์Šทํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Chrome์—์„œ 'index.html'์„ ์—ฝ๋‹ˆ ๋‹ค. ์šฐ๋ฆฌ๋Š” "Document Object Model"์ด๋ผ๋Š” ์ œ๋ชฉ์˜ ์ผ๋ฐ˜ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋ณด๊ฒŒ๋ฉ๋‹ˆ๋‹ค. ํŽ˜์ด์ง€์˜ ์•„๋ฌด ๊ณณ์ด๋‚˜ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•˜๊ณ  "Inspect"๋ฅผ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋Ÿฌ๋ฉด ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๊ฐ€ ์—ด๋ฆฝ๋‹ˆ๋‹ค.

Elements ํƒญ ์•„๋ž˜์— DOM์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

https://assets.digitalocean.com/articles/eng_javascript/dom/the-dom.png

์ด ๊ฒฝ์šฐ ํ™•์žฅ๋˜์—ˆ์„ ๋•Œ, ๋ฐฉ๊ธˆ ์ž‘์„ฑํ•œ HTML ์†Œ์Šค ์ฝ”๋“œ (doctype ๋ฐ ์ถ”๊ฐ€ ๋œ ๋ช‡ ๊ฐ€์ง€ ๋‹ค๋ฅธ HTML ํƒœ๊ทธ)์™€ ์™„์ „ํžˆ ๋™์ผํ•˜๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค. ๊ฐ ์š”์†Œ ์œ„์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ๋ Œ๋”๋ง ๋œ ์›น ์‚ฌ์ดํŠธ์˜ ๊ฐ ์š”์†Œ๊ฐ€ ๊ฐ•์กฐ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. HTML ์š”์†Œ์˜ ์™ผ์ชฝ์—์žˆ๋Š” ์ž‘์€ ํ™”์‚ดํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ค‘์ฒฉ ๋œ ์š”์†Œ์˜๋ณด๊ธฐ๋ฅผ ์ „ํ™˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

The Document Object

document ๊ฐ์ฒด๋Š” ์›น ์‚ฌ์ดํŠธ์— ์•ก์„ธ์Šคํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜์žˆ๋Š” ๋งŽ์€ ** ์†์„ฑ ** ๋ฐ ** ๋ฉ”์„œ๋“œ **๊ฐ€์žˆ๋Š” ๋‚ด์žฅ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. DOM ์ž‘์—… ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜๋ ค๋ฉด JavaScript์—์„œ ๊ฐ์ฒด๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์„ ์ดํ•ดํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด ๊ฐœ๋…์— ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ [JavaScript์˜ ๊ฐ์ฒด ์ดํ•ด] (https://www.digitalocean.com/community/tutorials/understanding-objects-in-javascript)๋ฅผ ๊ฒ€ํ† ํ•˜์‹ญ์‹œ์˜ค.

** index.html **์˜ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—์„œ Console ํƒญ์œผ๋กœ ์ด๋™ํ•˜์‹ญ์‹œ์˜ค. ์ฝ˜์†”์—document๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ENTER๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค. ์ถœ๋ ฅ๋˜๋Š” ๋‚ด์šฉ์€ Elements ํƒญ์˜ ๋‚ด์šฉ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

> document;
Output
#document
<!DOCTYPE html>
<html lang="en">

  <head>
    <title>Learning the DOM</title>
  </head>

  <body>
    <h1>Document Object Model</h1>
  </body>

</html>

document๋ฅผ ํƒ€์ดํ•‘ํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ฝ˜์†”์—์„œ ์ง์ ‘ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋””๋ฒ„๊น… ๋ฐ–์—์„œ ํ•  ์ผ์ด ์•„๋‹ˆ์ง€๋งŒ ์•„๋ž˜์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ดdocument ๊ฐ์ฒด๊ฐ€ ๋ฌด์—‡์ธ์ง€์™€ ๊ทธ๊ฒƒ์„ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •ํ™•ํžˆ ์‘๊ณ ์‹œํ‚ค๋Š” ๋ฐ ๋„์›€์ด๋ฉ๋‹ˆ๋‹ค.

What is the Difference Between the DOM and HTML Source Code?

ํ˜„์žฌ์ด ์˜ˆ์ œ์—์„œ HTML ์†Œ์Šค ์ฝ”๋“œ์™€ DOM์€ ์™„์ „ํžˆ ๋˜‘๊ฐ™์€ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ƒ์„ฑ ํ•œ DOM์ด HTML ์†Œ์Šค ์ฝ”๋“œ์™€ ๋‹ค๋ฅธ ๋‘ ๊ฐ€์ง€ ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • DOM์€ ํด๋ผ์ด์–ธํŠธ ์ธก JavaScript์— ์˜ํ•ด ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค.
  • ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ž๋™์œผ๋กœ ์†Œ์Šค ์ฝ”๋“œ์˜ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ์ธก JavaScript๋กœ DOM์„ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ฝ˜์†”์— ๋‹ค์Œ์„ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.

> document.body;

์ฝ˜์†”์€ ๋‹ค์Œ ์ถœ๋ ฅ์œผ๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

output
<body>
  <h1>Document Object Model</h1>
</body>

document๋Š” ๊ฐ์ฒด์ด๊ณ ,body๋Š” ์šฐ๋ฆฌ๊ฐ€ dot notation์œผ๋กœ ์ ‘๊ทผ ํ•œ ๊ฐ์ฒด์˜ ์†์„ฑ์ž…๋‹ˆ๋‹ค. document.body๋ฅผ ์ฝ˜์†”์— ์ œ์ถœํ•˜๋ฉด body ์š”์†Œ์™€ ๊ทธ ์•ˆ์˜ ๋ชจ๋“  ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”์—์„œ, ์šฐ๋ฆฌ๋Š”์ด ์›น ์‚ฌ์ดํŠธ์—์„œbody ๊ฐ์ฒด์˜ ๋ช‡๋ช‡ ๋ผ์ด๋ธŒ ์†์„ฑ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š”style ์†์„ฑ์„ ํŽธ์ง‘ํ•˜์—ฌ ๋ฐฐ๊ฒฝ์ƒ‰์„fuchsia๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์ฝ˜์†”์— ๋‹ค์Œ์„ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.

> document.body.style.gackgroundColor = 'fuchsia';

์œ„ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ œ์ถœํ•˜๋ฉด ๋ฐฐ๊ฒฝ์ƒ‰์ด ๋ณ€๊ฒฝ ๋  ๋•Œ ์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ์‹ค์‹œ๊ฐ„ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

https://assets.digitalocean.com/articles/eng_javascript/dom/modifying-the-dom.png

Elements ํƒญ์œผ๋กœ ์ „ํ™˜ํ•˜๊ฑฐ๋‚˜document.body๋ฅผ ๋‹ค์‹œ ์ฝ˜์†”์— ์ž…๋ ฅํ•˜๋ฉด DOM์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

<body style="background-color: fuchsia;">
  <h1>Document Object Model</h1>
</body>

**์ฃผ์˜ : **background-color CSS ์†์„ฑ์„ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ์—์„œbackgroundColor๋ผ๊ณ  ์ž…๋ ฅํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ดํ”ˆ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  CSS ์†์„ฑ์€ JavaScript์˜ camelCase๋กœ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค.

body์˜ ๋ฐฐ๊ฒฝ์ƒ‰์— fuchsia๋ฅผ ๋Œ€์ž…ํ•˜์—ฌ ์ž…๋ ฅ ํ•œ JavaScript ์ฝ”๋“œ๋Š” ์ด์ œ DOM์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํŽ˜์ด์ง€๋ฅผ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋‹จ์ถ”๋กœ ํด๋ฆญํ•˜๊ณ  "ํŽ˜์ด์ง€ ์†Œ์Šค๋ณด๊ธฐ"๋ฅผ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค. ์›น ์‚ฌ์ดํŠธ์˜ ์†Œ์Šค์—๋Š” JavaScript๋ฅผ ํ†ตํ•ด ์ถ”๊ฐ€ ํ•œ ์ƒˆ ์Šคํƒ€์ผ ์†์„ฑ์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์›น ์‚ฌ์ดํŠธ์˜ ์†Œ์Šค๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์œผ๋ฉฐ ํด๋ผ์ด์–ธํŠธ ์ธก JavaScript์˜ ์˜ํ–ฅ์„๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ ๊ณ ์นจํ•˜๋ฉด ์ฝ˜์†”์— ์ถ”๊ฐ€ ํ•œ ์ƒˆ ์ฝ”๋“œ๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

DOM์ด HTML ์†Œ์Šค ์ฝ”๋“œ์™€ ๋‹ค๋ฅธ ์ถœ๋ ฅ์„ ๊ฐ–๋Š” ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค๋Š” ์†Œ์Šค ์ฝ”๋“œ์— ์˜ค๋ฅ˜๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ํ•œ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ์˜ˆ๋Š”table ํƒœ๊ทธ์ž…๋‹ˆ๋‹ค.tbody ํƒœ๊ทธ๊ฐ€table ๋‚ด๋ถ€์— ํ•„์š”ํ•˜์ง€๋งŒ ๊ฐœ๋ฐœ์ž๋Š” ์ข…์ข… HTML์— ํƒœ๊ทธ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์ž๋™์œผ๋กœ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  tbody๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ DOM์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. DOM์€ ๋‹ซํžˆ์ง€ ์•Š์€ ํƒœ๊ทธ๋„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

Conclusion

์ด ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” DOM์„ ์ •์˜ํ•˜๊ณ document ๊ฐ์ฒด์— ์•ก์„ธ์Šคํ•˜์—ฌ JavaScript ๋ฐ ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌdocument ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ  HTML ์†Œ์Šค ์ฝ”๋“œ์™€ DOM์˜ ์ฐจ์ด์ ์„ ์‚ดํŽด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

DOM์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Mozilla ๊ฐœ๋ฐœ์ž ๋„คํŠธ์›Œํฌ์˜ DOM (Document Object Model) ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๋‹ค์Œ ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” ์ค‘์š”ํ•œ HTML ์šฉ์–ด๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ , DOM ํŠธ๋ฆฌ์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๊ณ , ๋…ธ๋“œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด๊ณ , ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์œ ํ˜•์˜ ๋…ธ๋“œ์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๊ณ , JavaScript๋กœ ๋Œ€ํ™” ํ˜• ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

โš ๏ธ **GitHub.com Fallback** โš ๏ธ