๋๊ธ ์์ฑ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ
์ด๋ฏธ์ง
๊ฐ์ด๋ ๋ฌธ์
์ง์ ๋ฐ๋ผํ๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ์ DOM ์กฐ์ ๊ฐ๋
์ ์ตํ๋ณด์ธ์.
์ด ๋ฌธ์๋ ๋๊ธ ์์ฑ UI์ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ๋๊ธ ์นด๋๋ฅผ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํ ๊ฐ์ด๋์
๋๋ค.
1. ๊ธฐ๋ณธ ๋ชฉํ
์ฌ์ฉ์๊ฐ ์
๋ ฅํ ์์ฑ์ ์ด๋ฆ๊ณผ ๋๊ธ ๋ด์ฉ์ ์ด์ฉํด
โข
์๋ฐํ ์ด๋ฏธ์ง
โข
์์ฑ์๋ช
โข
๋ ์ง
โข
๋ด์ฉ
์ด ํฌํจ๋ ๋๊ธ ์นด๋๋ฅผ ๋ชฉ๋ก ๊ฐ์ฅ ์๋์ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ์ ๋ง๋ค์ด๋ด
๋๋ค.
2. ํ์ํ DOM ์์ ์ ํํ๊ธฐ
๋๊ธ์ ์์ฑํ๋ ค๋ฉด ๋ค์ ์์๋ค์ JS์์ ์ ํํด์ผ ํฉ๋๋ค.
โข
์์ฑ์ input (#writer)
โข
๋ด์ฉ textarea (#content)
โข
๋๊ธ ๋ฆฌ์คํธ (#commentList)
โข
์์ฑ ๋ฒํผ (#commentBtn)
โ document.getElementById() ๋๋ querySelector() ํ์ฉ
3. ์ด๋ฒคํธ ๋ฑ๋กํ๊ธฐ
์์ฑ ๋ฒํผ์ ๋๋ฅด๋ฉด addComment() ํจ์(์ง์ ๋ง๋์ธ์)๊ฐ ์คํ๋๋๋ก ํด์ผ ํฉ๋๋ค.
โข
ํด๋ฆญ ์ด๋ฒคํธ ๋ฑ๋ก: addEventListener("click", โฆ)
โข
์
๋ ฅ์ฐฝ์ ๊ฐ ๊ฐ์ ธ์ค๊ธฐ: .value
โ โ์์ฑโ ๋ฒํผ์ ๋๋ฅด๋ฉด ํจ์๊ฐ ํธ์ถ๋์ด์ผ ํ๋ค.
4. ์ค๋ ๋ ์ง ๊ฐ์ ธ์ค๊ธฐ
๋๊ธ์๋ ๋ฑ๋ก๋ ๋ ์ง๊ฐ ๋ค์ด๊ฐ์ผ ํฉ๋๋ค.
Date ๊ฐ์ฒด๋ก ์ค๋ ๋ ์ง๋ฅผ ๊ตฌํด ๋ฌธ์์ด ํํ๋ก ๋ณํํฉ๋๋ค.
2025-04-18
Plain Text
๋ณต์ฌ
โ new Date() โ toISOString() โ .slice(0,10)
5. ๋๊ธ ์นด๋ ๋ง๋ค๊ธฐ
์ฌ๊ธฐ์๋ถํฐ๋ DOM ์กฐ์์ ์ง์ ๊ตฌํํฉ๋๋ค.
๋๊ธ ํ ๊ฐ์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
<div class="comment-card">
<div class="title"> ... </div>
<div class="content-box">
<p class="content">๋ด์ฉ</p>
</div>
</div>
Plain Text
๋ณต์ฌ
โ ๋ฌธ์์ด๋ก ๋ง๋ค์ด(innerHTML) ๋ฃ์ ์๋ ์๊ณ
โ createElement() ๋ก ์์๋ฅผ ํ๋ํ๋ ์์ฑํ ์๋ ์๋ค.
์ด๋ฒ ์์ ์์๋ ๋ฌธ์์ด ํ
ํ๋ฆฟ ์ฌ์ฉ์ ์ถ์ฒํฉ๋๋ค.
6. ์นด๋ ์์๋ฅผ ์ค์ DOM์ ์ถ๊ฐํ๊ธฐ
HTML ๋ฌธ์์ด๋ก ๊ตฌ์ฑํ ์นด๋ ์ฝ๋๋ฅผ ์ค์ ์์๋ก ๋ง๋ค์ด ๋ฆฌ์คํธ์ ๋ฃ์ต๋๋ค.
โข
document.createElement("div")
โข
div.innerHTML = "..."
โข
commentList.appendChild(div)
7. ์ ๋ ฅ์ฐฝ ์ด๊ธฐํํ๊ธฐ
๋๊ธ ์ถ๊ฐ ํ ์
๋ ฅ์ฐฝ์ ๋น์์ผ ํฉ๋๋ค.
โ input.value = ''
8. ์ต์ข ๊ตฌํ ํ๋ฆ ์์(๋ก์ง๋ง)
์๋๋ โ์ ์ฒด ๋ก์ง์ ํ๋ฆโ๋ง ์๋ ค์ฃผ๋ ํํธ์
๋๋ค.
์ฝ๋๋ ์ง์ ์์ฑํด๋ณด์ธ์!
1.
์
๋ ฅ๊ฐ ๊ฐ์ ธ์ค๊ธฐ
2.
์ค๋ ๋ ์ง ์์ฑํ๊ธฐ
3.
๋๊ธ ์นด๋ HTML ๋ฌธ์์ด ๋ง๋ค๊ธฐ
4.
๋ถ๋ชจ div ์์ฑ
5.
๋ถ๋ชจ div์ innerHTML ์ฃผ์
6.
๋๊ธ ๋ฆฌ์คํธ์ appendChild๋ก ์ถ๊ฐ
7.
์
๋ ฅ์ฐฝ ์ด๊ธฐํ
ํ์ต ๋ชฉํ ์ฒดํฌ๋ฆฌ์คํธ
์๋ ํญ๋ชฉ์ ๋ชจ๋ ๋ฌ์ฑํ๋ฉด ๊ตฌํ ์ฑ๊ณต์
๋๋ค!
ํด๋ฆญ ์ด๋ฒคํธ ๋ฑ๋กํ๋ค
์
๋ ฅ๋ ๊ฐ ๊ฐ์ ธ์ฌ ์ ์๋ค
์ค๋ ๋ ์ง๊ฐ ํ์๋๋ค
ํ
ํ๋ฆฟ ๋ฌธ์์ด์ ์ด์ฉํด HTML ๊ตฌ์ฑํ๋ค
createElement + innerHTML ์ฌ์ฉํ๋ค
๋๊ธ์ด ํ๋ฉด ์๋์ ์ถ๊ฐ๋๋ค
์
๋ ฅ์ฐฝ์ด ์ด๊ธฐํ๋๋ค




