innerHTML
1. ๊ฐ์
textContent
ํ๋กํผํฐ, innerText
ํ๋กํผํฐ๋ HTML ๋งํฌ์
์ด ํ์ฑ๋์ง ์์ ์ฑ ํ
์คํธ์ ํํ๋ก ์ถ๊ฐ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ํ
์คํธ ๋
ธ๋์ HTML ๋งํฌ์
์ ํ์ฑํ์ฌ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ผ๊น? ๋ฐ๋ก innerHTML
ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
innerHTML
ํ๋กํผํฐ๋ ์์ ๋
ธ๋์ HTML ๋งํฌ์
์ ์ทจ๋ํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋๋ฐ ์ฌ์ฉ๋๋ค.
2. innerHTML ํ๋กํผํฐ ๋ฐํ ๊ฐ
์์ ์ฝ๋์์ ์ฝ์ ๊ฐ์ผ๋ก "Hello <span>world</span>"
์ด ์ถ๋ ฅ๋๋ค.
3. innerHTML ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์์ ๋
ธ๋ ์์ ํ๊ธฐ
์์ ๋
ธ๋์ innerHTML
ํ๋กํผํฐ์ ๋ฌธ์์ด์ ํ ๋นํ๋ฉด ์์ ๋
ธ๋์ ๋ชจ๋ ์์ ๋
ธ๋๊ฐ ์ ๊ฑฐ๋๊ณ ํ ๋นํ ๋ฌธ์์ด์ ํฌํจ๋์ด ์๋ HTML ๋งํฌ์
์ด ํ์ฑ๋์ด ์์ ๋
ธ๋์ ์์ ๋
ธ๋๋ก DOM์ ๋ฐ์ํ๋ค.
innerHTML
ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ์๋์ ์์์ฒ๋ผ ๋
ธ๋ ์ถ๊ฐ, ๊ต์ฒด, ์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ค.
4. innerHTML ํ๋กํผํฐ์ ๋จ์
4-1. ์ทจ์ฝํ ํฌ๋ก์ค ์ฌ์ดํธ ์คํธ๋ฆฝํ
๊ณต๊ฒฉ
ํฌ๋ก์ค ์ฌ์ดํธ ์คํธ๋ฆฝํ
๊ณต๊ฒฉ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ HTML ์๋ํฐ์ ์ด์
์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. ์ด๋ ์ฌ์ฉ์๋ก๋ถํฐ ์
๋ ฅ๋ฐ์ ๋ฐ์ดํฐ์ ์ํด ๋ฐ์ํ ์ ์๋ ํฌ๋ก์ค ์ฌ์ดํธ ์คํฌ๋ฆฝํ
๊ณต๊ฒฉ์ ์๋ฐฉํ๊ธฐ ์ํด ์ ์ฌ์ ์ํ์ ์ ๊ฑฐํ๋ ๊ธฐ๋ฅ์ ๋งํ๋ค.
๋ํ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ DOMPurify
๊ฐ ์๋ค.
4-2. ๋ชจ๋ ์์ ๋
ธ๋๋ฅผ ์ ๊ฑฐํ๊ณ DOM์ ๋ณ๊ฒฝ
์์ ์์์์ <li>dog</li>
๋ ๋ณ๊ฒฝ์ด ์์ผ๋ฏ๋ก ๋ค์ ์์ฑํ ํ์๊ฐ ์๋ค. ํ์ง๋ง $foo.innerHTML += "<li>cat</li>";
์ผ๋ก ์ธํด <li>dog</li>
๋ ์ญ์ ๋์๋ค๊ฐ ๋ค์ ์์ฑ๋๋ค.
์ฆ, innerHTML
ํ๋กํผํฐ์ HTML ๋งํฌ์
๋ฌธ์์ด์ ํ ๋นํ๋ฉด ์ ์ง๋์ด๋ ์ข์ ๊ธฐ์กด์ ์์ ๋
ธ๋๊น์ง ๋ชจ๋ ์ ๊ฑฐํ๊ณ ๋ค์ ์ฒ์๋ถํฐ ์๋กญ๊ฒ ์์ ๋
ธ๋๋ฅผ ์์ฑํ์ฌ DOM์ ๋ฐ์ํ๋ค. ์ด๋ฅผ ํจ์จ์ ์ด์ง ์๋ค.
4-3. ๋ถ๊ฐ๋ฅํ ์๋ก์ด ์์๋ฅผ ์ฝ์
ํ ๋ ์ฝ์
๋ ์์น ์ง์
innerHTML
ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ์ฌ dog
์ cat
์ฌ์ด์ ์๋ก์ด ์์๋ฅผ ์ฝ์
ํ ์ ์๋ค.
innerHTML
ํ๋กํผํฐ๋ ๋ณต์กํ์ง ์์ ์์๋ฅผ ์๋กญ๊ฒ ์ถ๊ฐํ ๋ ์ ์ฉํ์ง๋ง ๊ธฐ์กด ์์๋ฅผ ์ ๊ฑฐํ์ง ์์ผ๋ฉด ์์น๋ฅผ ์ง์ ํด ์๋ก์ด ์์๋ฅผ ์ฝ์
ํด์ผ ํ ๋๋ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข๋ค.
5. Conclusion
innerText
ํ๋กํผํฐ์innerHTML
ํ๋กํผํฐ๋ ์ธ๋ป ๋ณด๊ธฐ์ ๋น์ทํ ์ญํ ์ ํ๋ค๊ณ ์๊ฐํ ์ ์๋ค. ๊ทธ๋์ ์์ ์๋ ๋ ๊ฐ๋ฅผ ๊ฑฐ์ ๊ตฌ๋ถํ์ง ์๊ณ ์ฌ์ฉ์ ํ์๋ค. ํ์ง๋ง ์์ฐํ ์ฐจ์ด์ ์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ํฉ์ ๋ง๊ฒ ์ ์ฌ์ฉ์ ํด์ผ ๊ฒ ๋ค. ๋ํinnerHTML
ํ๋กํผํฐ์ ๋จ์ ๋ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋จ์ ์ด ๋ค์ด๋๋ ์ํฉ์ด ์ค๋ฉด ๋ค๋ฅธ ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์์ ๋ ธ๋๋ด์ ์์์ ์ถ๊ฐํ๋๋ก ํ์.
์ฐธ๊ณ
๋์ - ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ Deep Dive: ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ธฐ๋ณธ ๊ฐ๋ ๊ณผ ๋์ ์๋ฆฌ
๐ 2022-10-13
Last updated