Language/JavaScript

Day32 : querySelectorAll, classList

Anoi 2024. 2. 1. 20:56

할 일들이 쌓여있으니 지저분하다.

더블 클릭 하면 삭제되는 기능을 추가하자.

 

목록을 삭제해줄 것이니까 <li>의 remove메소드를 사용한다.

 

 

더블클릭했더니 삭제됐다.

 

querySelectorAll()

- 소괄호 안에 들어온 그 값을 기준으로 해당 태그들을 모두 가져온다.

 

<li>들을 생성하고 전체 삭제 버튼을 누르면 querySelectorAll에 대한 결과로 배열이 생성된다.

 

반복문을 이용해서 바로 배열의 원소들을 삭제해준다.

 

'전체 삭제' 버튼을 누르면 다 사라진다.

 


todo-list를 계속 쓸 수 있도록 local Storage를 사용하자.

 

todoList를 밖으로 뺀다.

(#todo-list 는 <ul>를 담고 있다.)

 

todoList.children → <ul>의 원소를 배열로 가진다.

 

children

- 하위에 존재하고 있는 element들을 참조해온

 

첫번째 원소만 뽑기

 

그 첫번째 원소에서 <span>만 가져오기

 

<span>의 내용만 가져오기

 

<span>의 내용만 가져와서 saveItems 배열에 넣은 뒤 통째로 local stroage에 저장하자.

 

 

입력하는 족족 saveItems 배열에 저장된다.

 

하지만 이렇게 되면 취소선이 그어져 있는지 아닌지

즉, 수행 여부는 함께 저장되지 않는다.

 

객체 형태로 저장한다

 

반복문으로 배열에 push하는 과정에서 객체를 만들어

contents : <span> 내용

complete : 수행 여부

                  todoList.children[i]의 (<li>) classList를 검사해서 'complete'이 있는지 확인

 

contains는 boolean 값으로 저장된다.

 

이제 이 내용을 local Storage에 저장하면 된다.