๐Ÿ“Web Developing/JavaScript ๊ธฐ์ดˆ

์›น๋ธŒ๋ผ์šฐ์ €์—์„œ์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

Hush 2022. 6. 17. 11:38

์›น ๋ธŒ๋ผ์šฐ์ €์™€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?

 

์›น ๋ฌธ์„œ ์•ˆ์—  <script> ํƒœ๊ทธ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑํ•˜๊ธฐ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๊ฐ€ ์งง์„ ๊ฒฝ์šฐ ์›น ๋ฌธ์„œ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์‰ฌ์น˜์— ๋ฐ”๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

<script> ์™€ </script> ์‚ฌ์ด์— ์‹คํ–‰ํ•  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์†Œ์Šค๋ฅผ ์ž‘์„ท์•„๋ฉด ๋œ๋‹ค.

script ํƒœ๊ทธ๋Š” ์›น ๋ฌธ์„œ์˜ ์–ด๋””๋“  ์œ„์น˜ํ•  ์ˆ˜ ์žˆ๊ณ , ์‚ฝ์ž…๋œ ์œ„์น˜ ๊ทธ ์ž๋ฆฌ์—์„œ ๋ฐ”๋กœ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋œ๋‹ค.

๋˜ํ•œ script ํƒœ๊ทธ๋Š” ํ•œ ๋ฌธ์„œ์—์„œ ์—ฌ๋Ÿฌ๊ฐœ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๋˜๋„๋ก์ด๋ฉด ์ด๋ฏธ์ง€๋‚˜ ํ…์ŠคํŠธ ๋“ฑ์„ ๋‹ค ํ‘œ์‹œํ•œ ํ›„์— ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

๊ทธ๋ž˜์„œ </body> ํƒœ๊ทธ ์ง์ „์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์†Œ์Šค๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค.

HTML, CSS์™€ ๋‹ฌ๋ฆฌ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜๋ฏ€๋กœ ์ฃผ์˜ํ•˜์ž.

๋‹ค์Œ์€ ํ…์ŠคํŠธ๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ๊ธ€์ž์„น์„ ๋ฐ”๊พธ๋Š” ์˜ˆ์ œ์ด๋‹ค.

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <h1 id="heading">์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ</h1>
  <p id="text">์œ„ ํ…์ŠคํŠธ๋ฅผ ํด๋ฆญํ•ด ๋ณด์„ธ์š”</p>
  <script>
    var heading=document.querySelector('#heading');
    heading.onclick=function(){
      heading.style.color="red";
    }
  </script>
</body>
</html>

์‚ฌ์‹ค ์ด๋Ÿฐ ๋ฐฉ๋ฒ•์€ ๋‹จ์ ์ด ๋” ๋งŽ๋‹ค. ์›น ๋ฌธ์„œ๊ฐ€ ๋ณต์žกํ•ด๋ณด์ด๊ณ  ์œ ์ง€, ๋ณด์ˆ˜๊ฐ€ ํž˜๋“ค๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ ์›น ๋ฌธ์„œ์—์„œ ๊ฐ™์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋˜‘๊ฐ™์€ ์†Œ์Šค๋ฅผ ๋ฐ˜๋ณตํ•ด์„œ ์‚ฝ์ž…ํ•ด์•ผ ํ•œ๋‹ค.

๊ทธ๋ž˜์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์†Œ์Šค๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์™ธ๋ถ€ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ๋กœ ์ €์žฅํ•ด์„œ ์›น ๋ฌธ์„œ์™€ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

 

์™ธ๋ถ€ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ๋กœ ์—ฐ๊ฒฐํ•ด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑํ–๊ธฐ

CSS์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์†Œ์Šค๋„ ๋”ฐ๋กœ ํŒŒ์ผ๋กœ ์ €์žฅํ•œ ํ›„ ์›น ๋ฌธ์„œ์— ์—ฐ๊ฒฐํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์›น ๋ฌธ์„œ ์•ˆ์—๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ  ์†Œ์Šค๊ฐ€ ๋“œ๋Ÿฌ๋‚˜์ง€ ์•Š๊ณ  HTML ํƒœ๊ทธ์™€ CSS ๋งŒ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์†Œ์Šค๊ฐ€ ํ•œ๊ฒฐ ๊น”๋”ํ•˜๋‹ค.

์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์€ <script> ํƒœ๊ทธ ์—†์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์†Œ์Šค๋งŒ ์ž‘์„ฑํ•˜๊ณ  ํ™•์žฅ์ž๋Š” *.js ํŒŒ์ผ๋กœ ์ €์žฅํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  HTML ๋ฌธ์„œ์—์„œ <script>ํƒœ๊ทธ์˜ src ์†์„ฑ์„ ์ด์šฉํ•ด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•˜๋ฉด ๋œ๋‹ค.

์ด๋•Œ ์—ฐ๊ฒฐํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์€ ๋งˆ์น˜ ์›น ๋ฌธ์„œ์—์„œ ์ง์ ‘ ์ž‘์„ฑํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์†Œ์Šค์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•˜๋ฉด ๊ฐ„๋‹จํžˆ JS ํŒŒ์ผ๋งŒ ์ˆ˜์ •ํ•ด๋„ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  HTML ๋ฌธ์„œ์— ๋ฐ”๋กœ ์ ์šฉ๋œ๋‹ค.

๊ธฐ๋ณธํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

<script src="์™ธ๋ถ€ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ๊ฒฝ๋กœ"></script>

์•ž์„  ์˜ˆ์ œ๋ฅผ ์™ธ๋ถ€ ์Šคํฌ๋ฆฝํŠธ๋กœ ๊ตฌํ˜„ํ•ด๋ณด๊ฒ ๋‹ค.

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <h1 id="heading">์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ</h1>
  <p id="text">์œ„ ํ…์ŠคํŠธ๋ฅผ ํด๋ฆญํ•ด ๋ณด์„ธ์š”</p>
  <script src="change-color.js"></script>
</body>
</html>
var heading=document.querySelector('#heading');
heading.onclick=function(){
  heading.style.color="red";
}