๐ฅ DOM
DOM์ Document Object Model์ ์ฝ์ => ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ?
๋ฌธ์ ๊ฐ์ฒด๋์ด๋๊ฐ์ html๋ฌธ์์ ํ๊ทธ๋ค์ JavaScript๊ฐ ์ด์ฉํ ์ ์๋ ๊ฐ์ฒด(object)๋ก ๋ง๋ค๋ฉด ๊ทธ๊ฒ์ ๋ฌธ์ ๊ฐ์ฒด๋ผ๊ณ ํ๋ค.+
Model์ ๋ถ์๋๋ฐ Model์ด๋ผ๋ ์์ด ๋จ์ด์๋ ๋ชจํ, ์ฃผํ์ด๋ผ๋ ์๋ฏธ๋ ์๊ณ ๋ชจ๋์ด๋ผ๋ ์๋ฏธ๋ ์๋ค. ๋น์ทํ๊ฒ ์ฌ๊ธฐ์๋ ๋ฌธ์ ๊ฐ์ฒด๋ฅผ '์ธ์ํ๋ ๋ฐฉ์'์ด๋ผ๊ณ ํด์ํ ์ ์๋ค.
๐ฅ DOM tree
tree์ ์๋ฃ๊ตฌ์กฐ๋ ์ด๋ฆ์์ ์ ์ ์๋ ๊ฒ์ฒ๋ผ ํ๋์ root node์์ ์์๋๋ค ๊ทธ๋ฐ๋ฐ ๋๋ฌด๋ ๋ ์์ ์์์ ์ ์ ์๋ก ๋ป์ด๋๊ฐ์ง๋ง treeํ ์๋ฃ๊ตฌ์กฐ๋ ํํ ์์ root node์์ ์๋๋ก ํผ์ ธ๋๊ฐ๋ ํํ๋ก ๊ทธ๋ฆฐ๋ค.
tree์์๋ ์์ชฝ์ node๋ฅผ ๋ถ๋ชจ(parent) ๋ ธ๋ ์๋ซ์ชฝ ๋ ธ๋๋ฅผ ์์(child)๋ผ๊ณ ํ๋ค. root node๋ ๊ฐ์ฅ ์์์ ์์๋๋ node์ด๋๊น parent๊ฐ ์๋ node๊ฐ ๋๋ค. ๊ทธ๋ฆฌ๊ณ children(์์)์ด ์๋ node๋ฅผ leaf node๋ผ๊ณ ํ๋ค. ๋ฟ๋ฆฌ(root)์์ ์์ํด์ ์(leaf)์์ ๋๋๋ ํํ์ด๋ค.
๐ฅ JavaScript๋ก ๋ฌธ์๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค๋ ๊ฒ
๋ฌธ์ ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ ๋ฐฉ์์ ๋ ๊ฐ์ง์ด๋ค.
- ์น ๋ธ๋ผ์ฐ์ ๊ฐ HTML ํ์ด์ง์ ์ ํ ์๋ ํ๊ทธ๋ฅผ ์ฝ์ผ๋ฉด ์์ฑํ๋ ๊ฒ. ์ด๋ฐ ๊ณผ์ ์ ์ ์ ์ผ๋ก ๋ฌธ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค๊ณ ๋งํ๋ค. ๋จ์ํ ์ ํ์ ธ ์๋ ๊ทธ๋๋ก ๋ฌธ์๊ฐ์ฒด๊ฐ ์์ฑ๋๋ ๊ฒ์ ํํํ ๊ฒ์ด๋ค.
- ๋ฐ๋๋ก ์๋ HTML ํ์ด์ง์ ์๋ ๋ฌธ์๊ฐ์ฒด๋ฅผ JavaScript๋ฅผ ์ด์ฉํด์ ์์ฑํ ์ ์๋ค. ์ด๋ฐ ๊ณผ์ ์ ๋์ ์ผ๋ก ๋ฌธ์๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค๊ณ ํ๋ค. ๋ฐ๋ผ์ JavaScript๋ก ๋ฌธ์๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค๋ ๊ฒ์ ์ฒ์์๋ HTML ํ์ด์ง์ ์๋ ๋ฌธ์๊ฐ์ฒด๋ฅผ ๋์ ์ผ๋ก ์์ฑํ๋ ๊ฒ์ด ๋๋ค.
'Elice > Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] Script ํ๊ทธ์ defer, async (0) | 2024.03.21 |
---|---|
[JavaScript] ์ฌ๊ท(Recursive)์ ์คํ(Call Stack)+๋ฐ๋ณต๋ฌธ๊ณผ ์ฑ๋ฅ ๋น๊ต (0) | 2024.03.21 |
[JavaScript] this (์ ์ , ๋์ ๋ฐ์ธ๋ฉ) (0) | 2024.03.21 |
[JavaScript] ๋์คํธ๋ญ์ฒ๋ง ํ ๋น (0) | 2024.03.21 |
[JavaScript] ๋๋จธ์ง ๋งค๊ฐ ๋ณ์์ ๊ตฌ๋ฌธ (0) | 2024.03.21 |