Dom
Last updated
Was this helpful?
Last updated
Was this helpful?
DOM์ ๋์ ์๋ฏธ๋ก ์น ๋ธ๋ผ์ฐ์ ๊ฐ HTML ํ์ด์ง๋ฅผ ์ธ์ํ๋ ๋ฐฉ์์ ์๋ฏธํฉ๋๋ค. ์กฐ๊ธ ์ข์ ์๋ฏธ๋ก ๋ณธ๋ค๋ฉด document ๊ฐ์ฒด์ ๊ด๋ จ๋ ๊ฐ์ฒด์ ์งํฉ์ ์๋ฏธํจ.
DOM์ ์ ๋๋ก ์ดํดํ๊ธฐ ์ํด์๋ tree๋ผ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ดํดํ ํ์๊ฐ ์์ต๋๋ค. DOM์ด tree ํ์์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด๋ฆ์์ ์ ์ ์๋ ๊ฒ์ฒ๋ผ ํ๋์ root node์์ ์์๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ๋๋ฌด๋ ๋ ์์ ์์์ ์ ์ ์๋ก ๋ป์ด๋๊ฐ์ง๋ง treeํ ์๋ฃ๊ตฌ์กฐ๋ ํํ ์์ root node์์ ์๋๋ก ํผ์ ธ๋๊ฐ๋ ํํ๋ก ๊ทธ๋ฆฝ๋๋ค.
tree์์๋ ์์ชฝ์ node๋ฅผ ๋ถ๋ชจ(parent) ๋ ธ๋ ์๋ซ์ชฝ ๋ ธ๋๋ฅผ ์์(child)๋ผ๊ณ ํฉ๋๋ค. root node๋ ๊ฐ์ฅ ์์์ ์์๋๋ node์ด๋๊น parent๊ฐ ์๋ node๊ฐ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ children(์์)์ด ์๋ node๋ฅผ leaf node๋ผ๊ณ ํฉ๋๋ค. ๋ฟ๋ฆฌ(root)์์ ์์ํด์ ์(leaf)์์ ๋๋๋ ๊ฒ์ด์ฃ .
tree ๊ตฌ์กฐ์์ root ๋ ธ๋๋ฅผ ํฌํจํ ๋ชจ๋ ๊ฐ๊ฐ์ ๊ฐ์ฒด๋ฅผ node๋ผ๊ณ ํํํฉ๋๋ค.
head, body, title, script, h1 ๋ฑ์ ํ๊ทธ๋ฟ ์๋๋ผ ํ๊ทธ ์์ ํ ์คํธ๋ ์์ฑ ๋ฑ๋ ๋ชจ๋ node์ ์ํฉ๋๋ค.
์ด์ค HTML ํ๊ทธ๋ฅผ ์์๋ ธ๋(Element Node)๋ผ๊ณ ๋ถ๋ฅด๊ณ ์์ ๋ ธ๋ ์์ ์๋ ๊ธ์๋ฅผ Text ๋ ธ๋(Text Node)๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํฉ๋๋ค.
๋ฌธ์ ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ ๋ฐฉ์์ ๋ ๊ฐ์ง๋ก ๋๋์ด ๋ณผ ์ ์์ต๋๋ค. ์ฐ์ ์น ๋ธ๋ผ์ฐ์ ๊ฐ HTML ํ์ด์ง์ ์ ํ ์๋ ํ๊ทธ๋ฅผ ์ฝ์ผ๋ฉด ์์ฑํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฐ ๊ณผ์ ์ ์ ์ ์ผ๋ก ๋ฌธ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค๊ณ ๋งํฉ๋๋ค. ๋จ์ํ ์ ํ์ ธ ์๋ ๊ทธ๋๋ก ๋ฌธ์๊ฐ์ฒด๊ฐ ์์ฑ๋๋ ๊ฒ์ ํํํ ๊ฒ์ ๋๋ค.
๋ฐ๋๋ก ์๋ HTML ํ์ด์ง์ ์๋ ๋ฌธ์๊ฐ์ฒด๋ฅผ JavaScript๋ฅผ ์ด์ฉํด์ ์์ฑํ ์ ์์ต๋๋ค. ์ด๋ฐ ๊ณผ์ ์ ๋์ ์ผ๋ก ๋ฌธ์๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค๊ณ ํฉ๋๋ค. ๋ฐ๋ผ์ JavaScript๋ก ๋ฌธ์๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค๋ ๊ฒ์ ์ฒ์์๋ HTML ํ์ด์ง์ ์๋ ๋ฌธ์๊ฐ์ฒด๋ฅผ ๋์ ์ผ๋ก ์์ฑํ๋ ๊ฒ์ด ๋ฉ๋๋ค.
์ถ์ฒ: AIdev ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ