<li>
์ญ์ ํ๊ธฐ์ค๋์ ์ถ๊ฐ์ ์ผ๋ก, "โ"๋ชจ์์ delBtn
์ clickํ๋ฉด ํด๋น <li>
๊ฐ ์ญ์ ๋๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฒ ๋ค. ๋จผ์ paintToDo()
๋ด๋ถ์์ delBtn.addEventListener("click",deleteToDo)
๋ฅผ ํตํด click ์ด๋ฒคํธ ๋ฐ์์ deleteToDo()
๊ฐ ๋ฐ์ํ๋๋ก ํ๊ณ , ๋๋ช
์ ํจ์๋ฅผ ์ ์ธํ๋ค.
To Do List์ ๊ฐ ํญ๋ชฉ์ delBtn
์ด click๋ ๊ฒฝ์ฐ ์๋ํ๋ deleteToDo()
ํจ์๋ ๊ธฐ์กด์ To Do List๋ฅผ ๊ฐฑ์ ํ์ฌ click๋ ํด๋น ๊ฐ์ฒด๊ฐ ์๋ To Do List๋ฅผ returnํ์ฌ paintToDo()
๋ฅผ ์คํํด์ผํ๋ค. click๋ ํด๋น ๊ฐ์ฒด๋ event.target
์ ํตํด ์ง์ ํ ์ ์์ผ๋ฉฐ, console.dir(event.target)
์ ์คํํ๋ฉด, ์๋ ์ด๋ฏธ์ง์ ๊ฐ์ด ํด๋น element์ ๋ชจ๋ ํญ๋ชฉ์ ํ์ธํ ์ ์๋ค.
console.dir
๋ HTML์ ๊ตฌ์กฐ๋ก ์ถ๋ ฅ๋๋ console.log
์ ๋ฌ๋ฆฌ JSON ํํ์ ํธ๋ฆฌ๊ตฌ์กฐ๋ก ์ธ์๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ์ด ์ค, parentNode: li๋ฅผ ํ์ธํ์๋ค๋ฉด, event.target.parentNode
๊ฐ ์ญ์ ๋์ด์ผํ๋ ์์์์ ์ ์ ์์ต๋๋ค.
const btn = event.target;
const li = btn.parentNode;
์ด์ฒ๋ผ ์ ์ธํด์ฃผ๊ณ , li
๋ฅผ ์ญ์ ํด์ฃผ๋ฉด ๋๋๋ฐ, delete child MDN๋ฅผ ์ฐธ๊ณ ํ์ฌ, toDoList.removeChild(li);
๋ฅผ ํจ์์ ์ถ๊ฐํด์ฃผ๋ฉด, ์ ์์ ์ผ๋ก ์ญ์ ๋จ์ ์ ์ ์์ต๋๋ค. ํ์ง๋ง ํ์ฌ ์ญ์ ๋ ๊ฒ์ HTML์์ ๋งํฌ์
๋ฟ์ด๊ณ , ๋ฐ์ดํฐ๋ Local Storage์ ๊ทธ๋๋ก ์ ์ฅ๋์ด์๊ธฐ ๋๋ฌธ์, ์ถ๊ฐ ์์
์ ํตํด Local Storage๋ ๊ฐฑ์ ํด์ฃผ์ด์ผํฉ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ, ์๋ก๊ณ ์นจ ํ ๊ฒฝ์ฐ ์ญ์ ๋์๋ li
๊ฐ ๋ค์ ๋ณต์๋จ์ ํ์ธํ ์ ์์ต๋๋ค.
Array.filter() <- list์ ์๋ ๋ชจ๋ ์์๋ฅผ ์คํ ํ, ๊ทธ ๊ฒฐ๊ณผ๊ฐ์ ํด๋นํ๋ array๋ฅผ return
, forEach()์ ๋น์ทํจ
const cleanToDos = toDos.filter(function(toDo){
return toDo.id !== li.id;
})
์์ ๊ฐ์ด ์์ฑํด์ฃผ๋ฉด, ๊ธฐ๋ํ ๊ฒฐ๊ณผ๋ ํด๋น ๋ชฉ๋ก์ ์ ์ธํ toDos๊ฐ return
๋๋ ๊ฒ์ด์์ผ๋, toDos๊ฐ ๊ทธ๋๋ก return
๋์๋ค.
console.log(toDo.id,li.id)
๋ฅผ cleanToDos
๋ด๋ถ์ ์ถ๊ฐํ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด, toDo.id
๋ 1์ด์ง๋ง li.id
๋ "1"์์ ํ์ธํ ์ ์๋ค.
์ด๋ ํํ์ ์ฐจ์ด (1์ ์ซ์, "1"์ ๋ฌธ์์ด) ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ ํ์์ผ๋ก, !==
๋ฅผ !=
๋ก ์์ ํด์ฃผ๊ฑฐ๋, li.id
๋ฅผ parseInt(li.id)
๋ก ์์ ํด์ฃผ๋ฉด ์ ์์ ์ผ๋ก ์๋ํ๋ค. ์ด๋ฅผ ํตํด return
๋ array cleanToDos
๋ฅผ toDos = cleanToDos
๋ฅผ ํด์ค์ผ๋ก์ toDos
๋ํ ์์ ํ๊ฒ ๋์๊ณ , (const
๋ก ์ ์ธ๋ toDos
๋ฅผ let
์ผ๋ก ์ ์ธํ๋๋ก ์์ ํ๋ค) saveToDos()
๋ฅผ ํตํด ์์ ๋ toDos
๋ฅผ Local Storage์ ์ ์ฅํด์ฃผ๋ฉด, delBtn
์ clickํ์ฌ To Do List์ ํญ๋ชฉ์ ์ญ์ ํ๊ฒ๋๊ณ , ๊ฐฑ์ ๋ To Do List๊ฐ Local Storage์ ๋ฐ์๋์ด ์๋ก๊ณ ์นจํ์ฌ๋ ์ ์ง๋จ์ ํ์ธํ๋ค.