-
์๋ฐ์คํฌ๋ฆฝํธ DOM ๊ฐ์ฒด ์ ์ดJavaScript 2020. 9. 9. 07:48
๐ฏ ์๋ฐ์คํฌ๋ฆฝํธ DOM ๊ตฌ์กฐ, ๋ ธ๋ ๊ฐ์ฒด ์ ๊ทผ๋ฐฉ๋ฒ์ ์์๋ณธ๋ค.
DOM( Document Object Model )
์นํ์ด์ง์ HTML๋ฌธ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ฒด๋ก ํํํ๊ธฐ ์ํ ๊ณ์ธต๊ตฌ์กฐ์ด๋ฉฐ ๋ฌธ์๋ฅผ ๋ํ๋ด๋ ์ต์์ ๊ฐ์ฒด๋ document ๊ฐ์ฒด์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ html ํ๊ทธ์ ์ ๊ทผํ ์ ์๋ค.
์นํ์ด์ง๊ฐ ๋ก๋๋ ๋, ์น๋ธ๋ผ์ฐ์ ๋ ํ์ด์ง์ DOM์ ์์ฑํ๊ณ ํธ๋ฆฌ๊ตฌ์กฐ๋ก ๊ด๋ฆฌํ๋ค. ๊ฐ ๊ฐ์ฒด๋ฅผ ๋ ธ๋๋ผ๊ณ ํ๋ค. ์๋ฆฌ๋จผํธ ๋ ธ๋, ํ ์คํธ ๋ ธ๋, ์์ฑ ๋ ธ๋๊ฐ ์๋ค.
๋ ธ๋ ์์ฑ๊ณผ ๋ฉ์๋
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด ํ์์ง์ ๋ชจ๋ ํ๊ทธ, ์์ฑ, CSS์คํ์ผ์ ๋ณ๊ฒฝํ ์ ์๊ณ ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค.
๋ถ๋ชจ์ ์์๋ ธ๋ ๊ด๊ณ
DOM ๊ฐ์ฒด์ ์ง์ ์ ๊ทผํ๊ธฐ
getElementById()
- id ๊ฐ์ผ๋ก ์ ๊ทผํ๋ค.
document.getElementById( id๊ฐ )
getElementsByTagName()
- ํ๊ทธ๋ช ์ผ๋ก ์ ๊ทผํ๋ค.
document.getElementsByTagName( tag๋ช )
getElementsByClassName()
- class ์์ฑ์ผ๋ก ์ ๊ทผํ๋ค.
document.getElementsByClassName( class๋ช )
querySelector(), querySelectorAll()
- CSS selector๋ฅผ ์ฌ์ฉํ๋ค.
document.querySelectorAll(selector);
- qureySelector๋ ์ฌ๋ฌ๊ฐ์ ๊ฐ์ฒด๋ค ์ค ์ฒซ๋ฒ์งธ ๊ฐ์ฒด ํ๋๋ง ๊ฐ์ ธ์จ๋ค. ๋ฐ๋ผ์ ์ฌ๋ฌ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ ํํ๊ณ ์ถ๋ค๋ฉด querySelectAll์ ์ฌ์ฉํด์ผ ํ๋ค.
๋ ธ๋ ์ํน ์ ๊ทผ ๋ฐฉ๋ฒ
์๋์ ์ธ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก DOM ๊ฐ์ฒด์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ฐ๋๋ฅผ ๊ธฐ์ค์ผ๋ก h1์ด ์ฒซ๋ฒ์งธ ์์, p๊ฐ ๋ง์ง๋ง ์์์ด๋ค. ์์ ๋ ธ๋ ์ฌ์ด์์ ์์์๋ ๋ ธ๋๋ฅผ nextSibling, ๋ค์ ์๋ ๋ ธ๋๋ฅผ previousSibling์ผ๋ก ๋ถ๋ฅธ๋ค.
innerText
<body> <div> <div id="x">ํ๊ธธ๋</div> </div> <script type="text/javascript"> var div = document.getElementById("x"); console.log(div); var s = div.innerText; console.log(s); console.log(s.length); console.log(s.charAt(0)); </script> </body>
id๊ฐ x์ธ ํ๊ทธ๋ฅผ ์ ํํด์ div๋ผ๋ ๋ณ์์ด๋ฆ์ ๋ถ์๋ค. div๋ฅผ ์ฝ์์ ์ถ๋ ฅํด๋ณด๋ฉด
<div id="x">ํ๊ธธ๋</div>
๋ฅผ ๋ฆฌํดํ๋ค..innerText
๋ ํ๊ทธ ์์ ํ ์คํธ๋ง ๊ฐ์ ธ์จ๋ค. ๋ฐ๋ผ์ console.log(s);๋ ํ๊ธธ๋์ ์ถ๋ ฅํ๋ค.input.value
<body> ์ด๋ฆ:<input type="text" name="username" id="username"> <a href="javascript:mesg()">์ ๋ ฅ๊ฐ ์ป๊ธฐ</a> <script type="text/javascript"> function mesg(){ var n = document.getElementById("username"); console.log(n); var s = n.value; console.log(s); } </script> </body>
์ธํ ์์ ์์ ์ ๋ ฅํ ๊ฐ์ ๊ฐ์ ธ์ฌ ๋ value๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. ์ธํ์ ์์ฑ์
value=""
์ฒ๋ผ ๋น ์คํธ๋ง์ ์ฌ์ฉํด value๋ฅผ ๋ช ์ํด์ค๋ ์๊ด์๋ค.aํ๊ทธ href ์์ฑ์ ์๋ฐ์คํฌ๋ฆฝํธ ํจ์๋ฅผ ํธ์ถํ ์ ์๋ค.
<a href="javascript:ํจ์๋ช ()"></a>
ํธ์ถ๋๋ ํจ์๋ ๋ฆฌํด๊ฐ์ด ์กด์ฌํ๋ฉด ์๋๋ค.DOM์ด ๋ชจ๋ ๋ก๋ฉ๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ธฐ
ํค๋์ ํฌํจ๋ ์คํฌ๋ฆฝํธ์ ์ธ๋ถ ํ์ผ์์ ๋ถ๋ฌ์จ ์๋ฐ์คํฌ๋ฆฝํธ๋ HTML DOM์ด ์ค์ ๋ก ์์ฑ๋๊ธฐ ์ ์ ์คํ๋๋ค. ๋ฐ๋ผ์ ํค๋๋ ์ธ๋ถํ์ผ์์ ์คํ๋ ๋ชจ๋ ์คํฌ๋ฆฝํธ๋ DOM์ ์ ๊ทผํ ์ ์๋ค.
ํด๊ฒฐ๋ฐฉ๋ฒ
1. ํ์ด์ง๊ฐ ์์ ํ ๋ก๋ฉ๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ธฐ
window.onload = init;
2. body ํ๊ทธ ๋งจ ๋์ ์คํฌ๋ฆฝํธ ์ถ๊ฐํ๊ธฐ
<script type="text/javascript">…</script></body>
๐ NEXT : ์๋ฐ์คํฌ๋ฆฝํธ ์ด๋ฒคํธ ํธ๋ค๋ง ๊ณต๋ถํ๊ธฐ
๋ฐ์ํ'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ฐ์คํฌ๋ฆฝํธ ์ด๋ฒคํธ ํธ๋ค๋ง ์ฐ์ต2 (0) 2020.09.13 ์๋ฐ์คํฌ๋ฆฝํธ ์ด๋ฒคํธ ํธ๋ค๋ง ์ฐ์ต1 (0) 2020.09.11 ์๋ฐ์คํฌ๋ฆฝํธ form ๊ฐ์ฒด, ์ด๋ฒคํธ ํธ๋ค๋ง (3) 2020.09.10 ์๋ฐ์คํฌ๋ฆฝํธ Built-In ๋ด์ฅ๊ฐ์ฒด (0) 2020.09.08 ์๋ฐ์คํฌ๋ฆฝํธ ํจ์ ์ ์ธ, ์ฝ๋ฐฑ, ํธ์ถ ์ค์ผ์ค๋ง (0) 2020.09.07