리액트로 todo-list 를 만들기 전, 기능을 생각해볼 겸 JS로 먼저 만들어보았다.
기능구현 개요
input value 값을 받아 동적으로 생성한 li 태그에 넣는다.
li태그 안에 span, i 태그를 생성하여 리스트 우측에 삭제 버튼을 만든다.
1. 현재시간 불러오기
2. 리스트 추가 기능
3. 리스트 변경 기능(완료 및 삭제)
4. 폰트어썸 아이콘 추가
function addList() {
value = input.value;
const Li = document.createElement("li");
const Span = document.createElement("span");
//const I = document.createElement("i");
Li.textContent = value;
//I.setAttribute("class", "fa-solid fa-trash");
listWrap.appendChild(Li).appendChild(Span).appendChild(I);
}
function changeList(event) {
//이벤트 버블링 활용
const createdLI = document.querySelector("li");
const target = event.target;
if (target.tagName === "I" || target.tagName === "SPAN") {
listWrap.removeChild(createdLI);
} else {
//target = li
target.classList.toggle("done");
}
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" />
const I = document.createElement("i");
I.setAttribute("class", "fa-solid fa-trash");
유익한 글 잘 봤습니다, 감사합니다.