상세 컨텐츠

본문 제목

js todoList

웹/js

by nownow 2022. 6. 29. 22:19

본문

const todo = document.querySelector("#todo")
const todoInput = todo.querySelector("input");
function putlist(value){
    const list = document.createElement("li");
    const span = document.createElement("span");
    span.innerText=value;
    list.appendChild(span);
    const ul = document.querySelector("#list");
    ul.appendChild(list);
}
function addList(event){
    event.preventDefault();
    const input = todoInput.value;
    todoInput.value="";
    putlist(input);
}
todo.addEventListener("submit",addList);

input을 submit 했을 때 입력한 refresh를 방지하고 입력한 값을 변수에 저장하고 입력창 내용을 지운다.

입력값을 putlist 함수의 인자로 사용해서 <li> 속의 <span> 태그 속에 입력한 내용을 담아서 <ul> 속에 삽입한다.

 

 

생성할 때에 버튼도 같이 추가해서 해당 버튼을 누르면 해당 리스트를 지우게 구현

const todo = document.querySelector("#todo")
const todoInput = todo.querySelector("input");
function pressButton(event){
    const list = (event.target.parentElement);
    list.remove();
}
function putlist(value){
    const list = document.createElement("li");
    const span = document.createElement("span");
    const button = document.createElement("button");
    button.innerText="X";
    span.innerText=value;
    list.appendChild(span);
    list.appendChild(button);
    const ul = document.querySelector("#list");
    ul.appendChild(list);
    button.addEventListener("click",pressButton);
}
function addList(event){
    event.preventDefault();
    const input = todoInput.value;
    todoInput.value="";
    putlist(input);
}
todo.addEventListener("submit",addList);

<li>속에 <button>도 함께 넣어준다.

 

※버튼을 누를때 addList가 실행되는 버그가 발생한 적이 있음 html에서 form의 태그가 ul에까지 포함 돼 있었음.

 

그리고 putlist함수에 addEventListner을 추가해 버튼을 누르면 해당 <li>를 지우는 함수를 만든다.

그 함수에는 해당 버튼을 누를때의 event에서 event.target.parentElement 로 그 버튼에 해당하는 parent를 삭제.

해당 버튼의 list만 삭제할 수 있었다.

' > js' 카테고리의 다른 글

js toDoList filter  (0) 2022.07.01
js toDolist localStorage arrow function  (0) 2022.06.30
js 랜덤 활용  (0) 2022.06.28
js 시계  (0) 2022.06.28
js 내용 저장하기 local storage  (0) 2022.06.27

관련글 더보기