DOM์ ์ด์ฉํ ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ
HTML ์์์ ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ง์ ํ๋ฉด ํ๊ทธ ์์ฑ๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ ์์ค๊ฐ ์์ธ๋ค.
๊ทธ๋์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์์ ํ๋ ค๋ฉด HTML์ ํ๊ทธ์ ์์ฑ์ ํ๋์ฉ ์ฐพ์๋ด์ผํ๋ค.
ํ์ง๋ง DOM์ ์ด์ฉํ์ฌ ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ง์ ํ๋ฉด ํ๊ทธ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ค๋ฅผ ๋ถ๋ฆฌํด์ ๋ณด๊ธฐ ์ข๊ฒ ์ฌ์ฉํ ์ ์๋ค.
์ง๊ธ๊น์ง ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ HTML์ด ์ฃผ์ธ์ด ๋์ด ์๋ฐ์คํฌ๋ฆฝํธ์ ํจ์๋ฅผ ๋ถ๋ฌ์์ ์ฌ์ฉํ๋ค.
ํ์ง๋ง DOM์ ์ฌ์ฉํ๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ฃผ์ธ์ด ๋์ด HTML์ ์์๋ฅผ ๊ฐ์ ธ์์ ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ฐ๊ฒฐํ๋ค.
HTML๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ ์ค์์ ์ด๋ ์ชฝ์ ์ค์ฌ์ผ๋ก ์ก๋๊ฐ์ ๋ฐ๋ผ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ด ๋ค๋ฅธ๋ค๋ ๊ฒ์ ์๋ฉด ๋๋ค.
์๋ฅผ ๋ค์ด ์น ์์๋ฅผ ํด๋ฆญํ์ ๋ ์คํํ ํจ์๋ฅผ ์ฐ๊ฒฐํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ณธ ํ์์ผ๋ก ์ฌ์ฉํ๋ค.
์น ์์.onclick = ํจ์;
์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์น ์์๋ฅผ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ์ ธ์ฌ ์ ์๋ค.
๊ทธ์ค์์ ํจ์ querySelector()๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ ธ์ค๋ ๊ฒ์ด ์ฝ๋ค.
querySelector()์ ๊ดํธ ์์๋ ํด๋์ค ์ด๋ฆ์ด๋ id ์ด๋ฆ ๋๋ ๋ค์ํ ์ ํ์๋ฅผ ๋ฃ์ ์ ์๋ค.
๋ค์์ id="change"์ธ ๋ฒํผ์ ํด๋ฆญํ์ ๋ ๊ธ์์์ ๋ฐ๊พธ๋ ์์ ์ด๋ค.
querySelector()๋ฅผ ์ฌ์ฉํด ๋ฒํผ ์์๋ฅผ ๊ฐ์ ธ์ค๊ณ ๋ณ์ changeBttn์ ์ ์ฅํ๋ค.
๊ทธ๋ฆฌ๊ณ changeBttn์ onclick์ ์ฌ์ฉํด changeColor() ํจ์๋ฅผ ์ฐ๊ฒฐํ๋ค.
์ด๋ ์ฃผ์ํ ์ ์ ํจ์์ ์ด๋ฆ๋ง ์ฌ์ฉํ๊ณ ๊ดํธ๋ ๋ถ์ด์ง ์์์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
<!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>
<button id="change">๊ธ์์ ๋ฐ๊พธ๊ธฐ</button>
<p>Hi my name is Hush!</p>
</div>
<script>
var changeBttn = document.querySelector("#change");
changeBttn.onclick= changeColor
function changeColor() {
document.querySelector("p").style.color="#f00"
}
</script>
</body>
</html>
๋ง์ฝ ์๊ธฐ ์์ ์ฒ๋ผ ์น ์์๋ฅผ ํ๋ฒ๋ง ํธ์ถํ ๊ฒ์ด๋ผ๋ฉด ๋ณ์์ ๊ตณ์ด ์ ์ฅํ ํ์๊ฐ ์๋ค.
๋ํ ํจ์๋ฅผ ํ๋ฒ๋ง ์ฌ์ฉํ ๊ฑฐ๋ผ๋ฉด ์ด๋ฆ์ ์ง์ด์ค ํ์๊ฐ ์๋ค.
๋ค์์ ์ด๋ฌํ ํน์ง์ ํ์ฉํ ๋ค๋ฅธ ๋ฐฉ์์ ์ฝ๋ฉ์ด๋ค.
<!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>
<button id="change">๊ธ์์ ๋ฐ๊พธ๊ธฐ</button>
<p>Hi my name is Hush!</p>
</div>
<script>
document.querySelector("#change").onclick= function() {
document.querySelector("p").style.color="#f00";
}
</script>
</body>
</html>