๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“‚ ๊ธฐ์ˆ  ๋ฉด์ ‘/Language

JavaScript ์ฝ”๋“œ๋ฅผ HTML๋ณด๋‹ค ๋ฐ‘์— ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

by Dev. Ella 2023. 8. 29.

๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป JavaScript ์ฝ”๋“œ๋ฅผ HTML๋ณด๋‹ค ๋ฐ‘์— ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <link rel="stylesheet" href="main.css">
</head>
<body>
  <div class="alert-box" id="alert">์•Œ๋ฆผ์ฐฝ</div>
  <button onclick="openAlert()">Open</button>
  <script>
    function openAlert() {
      document.getElementById('alert').style.display ='block';
    }
  </script>
</body>
</html>

 

 

๐Ÿ’๐Ÿปโ€โ™€๏ธ ์š”์•ฝํ•˜์ž๋ฉด ,

ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ณ , DOM ์กฐ์ž‘ ๋ฐ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ฐ€ ํšจ์œจ์ ์œผ๋กœ ์ด๋ฃจ์–ด์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.


1. ๋กœ๋”ฉ ์ˆœ์„œ

์›น ๋ธŒ๋ผ์šฐ์ €๋Š” HTML ๋ฌธ์„œ๋ฅผ ์œ„์—์„œ ์•„๋ž˜๋กœ ํŒŒ์‹ฑํ•˜๋ฉฐ ๋กœ๋”ฉํ•˜๋Š”๋ฐ, HTML ๋ฌธ์„œ ๋‚ด์— ์žˆ๋Š” ์š”์†Œ๋“ค์„ ๋งŒ๋‚˜๋ฉด ํ•ด๋‹น ์š”์†Œ๋“ค์„ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ HTML ๋ฌธ์„œ์— ํฌํ•จ๋œ JavaScript ์ฝ”๋“œ๋„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ JavaScript ์ฝ”๋“œ๊ฐ€ HTML๋ณด๋‹ค ์œ„์— ์œ„์น˜ํ•œ๋‹ค๋ฉด, HTML ํŒŒ์‹ฑ ์ค‘์—๋„ JavaScript ์ฝ”๋“œ๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์ด ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ €๋Š” JavaScript ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด HTML ํŒŒ์‹ฑ์„ ์ค‘๋‹จํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ํŽ˜์ด์ง€ ๋กœ๋”ฉ์ด ๋Š๋ ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ JavaScript ์ฝ”๋“œ๊ฐ€ DOM ์š”์†Œ๋“ค์„ ์กฐ์ž‘ํ•˜๋ ค๊ณ  ํ•  ๊ฒฝ์šฐ, ํ•ด๋‹น ์š”์†Œ๋“ค์ด ์•„์ง ํŒŒ์‹ฑ๋˜์ง€ ์•Š์•˜์„ ์ˆ˜ ์žˆ์–ด์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

 

2. DOM ์ ‘๊ทผ ๋ฐ ์กฐ์ž‘

JavaScript๋Š” ๋Œ€๋ถ€๋ถ„ DOM ์š”์†Œ๋“ค์„ ์กฐ์ž‘ํ•˜๊ณ  ์ƒํ˜ธ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์›น ํŽ˜์ด์ง€์˜ ์š”์†Œ๋“ค์„ ์„ ํƒํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ JavaScript ์ฝ”๋“œ๊ฐ€ HTML ์•„๋ž˜์— ์œ„์น˜ํ•œ๋‹ค๋ฉด, ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ์‹œ์ ์— ์ด๋ฏธ DOM์ด ์ƒ์„ฑ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ JavaScript๋Š” ์ฆ‰์‹œ ์š”์†Œ๋“ค์— ์ ‘๊ทผํ•˜๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

3. ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ

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

 

๋งŒ์•ฝ JavaScript ์ฝ”๋“œ๊ฐ€ HTML ์•„๋ž˜์— ์œ„์น˜ํ•œ๋‹ค๋ฉด, ํŽ˜์ด์ง€์˜ ๋ชจ๋“  ์š”์†Œ๋“ค์ด ๋กœ๋”ฉ๋œ ์ดํ›„์— ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๊ฐ€ ๋“ฑ๋ก๋˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž์˜ ์ƒํ˜ธ์ž‘์šฉ์— ๋” ๋น ๋ฅด๊ฒŒ ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

4. ๋ Œ๋”๋ง ์ง€์—ฐ ์ตœ์†Œํ™”

๋ธŒ๋ผ์šฐ์ €๋Š” HTML์„ ํŒŒ์‹ฑํ•˜๋ฉด์„œ ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ JavaScript ์ฝ”๋“œ๊ฐ€ HTML ์•„๋ž˜์— ์œ„์น˜ํ•œ๋‹ค๋ฉด, ๋ธŒ๋ผ์šฐ์ €๋Š” ์ฝ”๋“œ ์‹คํ–‰์„ ์œ„ํ•ด ํŽ˜์ด์ง€ ๋ Œ๋”๋ง์„ ์ค‘์ง€ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋” ๋น ๋ฅด๊ฒŒ ์ฝ˜ํ…์ธ ๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.