NODE
Last updated
Last updated
DOM์ ๋ ธ๋๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ณ์ธต์ ๋จ์์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์๋ค. DOM์ ์ด๋ฌํ ๋ ธ๋๋ค์ ์ ์ํ๊ณ , ๊ทธ ์ฌ์ด์ ๊ด๊ณ๋ฅผ ์ค๋ช ํด์ฃผ๋ ์ญํ ์ ํ๋ค.
HTML์ ์ ๋ณด๋ ๋ ธ๋ ํธ๋ฆฌ์ ์ ์ฅ๋๋ฉฐ, ๋ ธ๋ ํธ๋ฆฌ๋ ๋ ธ๋๋ค์ ์งํฉ์ผ๋ก ๋ ธ๋ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ณด์ฌ์ค๋ค.
๋ ธ๋ ํธ๋ฆฌ๋ ์ต์์ ๋ ๋ฒจ์ธ ๋ฃจํธ ๋ ธ๋(root node)๋ก ๋ถํฐ ์์ํด, ๊ฐ์ฅ ๋ฎ์ ๋ ๋ฒจ์ธ text ๋ ธ๋๊น์ง ๋ด๋ ค๊ฐ๋ค. JavaScript์์๋ DOM์ ์ด์ฉํ์ฌ ๋ชจ๋ ๋ ธ๋์ ์ ๊ทผํ ์ ์๋ค.
๋ ธ๋
์ค๋ช
๋ฌธ์ ๋ ธ๋(document node)
HTML ๋ฌธ์ ์ ์ฒด๋ฅผ ๋ํ๋ด๋ ๋ ธ๋
์์ ๋ ธ๋(element node)
๋ชจ๋ HTML ์์๋ ์์ ๋ ธ๋์ด๋ฉฐ, ์์ฑ ๋ ธ๋๋ฅผ ๊ฐ์ง ์ ์๋ ์ ์ผํ ๋ ธ๋์ด๋ค.
์์ฑ ๋ ธ๋(attribute node)
๋ชจ๋ HTML ์์์ ์์ฑ์ ์์ฑ ๋ ธ๋์ด๋ฉฐ, ์์ ๋ ธ๋์ ๊ดํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค.ํ์ง๋ง ํด๋น ์์ ๋ ธ๋์ ์์ ๋ ธ๋(child node)์๋ ํฌํจ๋์ง ์๋๋ค.
ํ ์คํธ ๋ ธ๋(text node)
HTML ๋ฌธ์์ ๋ชจ๋ ํ ์คํธ๋ ํ ์คํธ ๋ ธ๋์ด๋ค.
์ฃผ์ ๋ ธ๋(comment node)
HTML ๋ฌธ์์ ๋ชจ๋ ์ฃผ์์ ์ฃผ์ ๋ ธ๋์ด๋ค.
[tree ์๋ฃ๊ตฌ์กฐ] ๋ฅผ ์ฐธ์กฐํ๋ฉด ๊ด๊ณ๋ฅผ ๋ ์ ์ดํดํ ์ ์๋ค.
getElementsByTagName()
๋ฉ์๋๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ
๋ ธ๋๊ฐ์ ๊ด๊ณ๋ฅผ ์ด์ฉํ์ฌ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ
parentNode : ๋ถ๋ชจ ๋ ธ๋
childNodes : ์์ ๋ ธ๋ ๋ฆฌ์คํธ
firstChild : ์ฒซ ๋ฒ์งธ ์์ ๋ ธ๋
lastChild : ๋ง์ง๋ง ์์ ๋ ธ๋
nextSibling : ๋ค์ ํ์ ๋ ธ๋
previousSibling : ์ด์ ํ์ ๋ ธ๋
nodeName : ๋ ธ๋ ๊ณ ์ ์ ์ด๋ฆ์ ์ ์ฅํ๋ค. ์ฝ๊ธฐ ์ ์ฉ property(์์ ๋ถ๊ฐ)
๋ ธ๋
ํ๋กํผํฐ ๊ฐ
๋ฌธ์ ๋ ธ๋(document node)
#document
์์ ๋ ธ๋(element node)
ํ๊ทธ ์ด๋ฆ (์๋ฌธ์๋ก ๋๋ฌธ์)
์์ฑ ๋ ธ๋(attribute node)
์์ฑ ์ด๋ฆ
ํ ์คํธ ๋ ธ๋(text node)
#text
์์ ๋ ธ๋์ nodeName property๋ ์ธ์ ๋ ํด๋น HTML ์์์ ํ๊ทธ ์ด๋ฆ์ ๋๋ฌธ์๋ก ์ ์ฅํ๋ค.
nodeValue : ๋ ธ๋์ ๊ฐ์ ์ ์ฅํ๋ค.
๋ ธ๋
ํ๋กํผํฐ ๊ฐ
์์ ๋ ธ๋(element node)
undefined
์์ฑ ๋ ธ๋(attribute node)
ํด๋น ์์ฑ์ ์์ฑ๊ฐ
ํ ์คํธ ๋ ธ๋(text node)
ํด๋น ํ ์คํธ ๋ฌธ์์ด
nodeType : ๋ ธ๋ ๊ณ ์ ์ ํ์ ์ ์ ์ฅํ๋ค. ์ฝ๊ธฐ์ ์ฉ(์์ ๋ถ๊ฐ)
๋ ธ๋
ํ๋กํผํฐ ๊ฐ
์์ ๋ ธ๋(element node)
1
์์ฑ ๋ ธ๋(attribute node)
2
ํ ์คํธ ๋ ธ๋(text node)
3
์ฃผ์ ๋ ธ๋(comment node)
8
๋ฌธ์ ๋ ธ๋(document node)
9
์ด property๋ค์ ํน๋ณํ ๋ค๋ฅธ ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํ์ง ์๊ณ ๋, ํด๋น ๋ ธ๋์ ์ ๋ณด์ ์ง์ ์ ๊ทผํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค.