옛 포스트/Daily
[2021.6.20] Shopping list 만들기
봄나물소녀
2021. 6. 20. 15:36
드림코딩의 엘리쌤과 shopping list 만들기를 하고 있다.
만들다가 모르는 부분에 대해 고민하다보면 또 다른 모르는 것들이 방울방울 생겨난다..
해결방법을 찾을 떈 막막하고 머리 아프다가도 결국 해결을 하고나면 잔잔한 희열을 느낀다.
1. All clear button
모든 item 목록을 지우는 AllClearBtn을 만들었다. 모든 아이템을 담은 리스트를 만들기 위해 item 목록을 querySelectorAll 로 뽑아 nodelist로 만들고자 했다.
문제는 내가 기대한건 nodelist [item1, item2, item3 ... ] 인데.. 왜인지 자꾸 빈 nodelist를 반환한다.
const AllClearBtn = document.querySelector('.fa-plus-circle');
const lists = document.querySelectorAll('.item');
AllClearBtn.addEventListener('click', () => {
console.log(lists); // NodeList []
});
이유는 (유사)배열을 만드는 변수가 이벤트함수 바깥에 위치해 있어서
이벤트가 일어나기 전에 빈 배열을 처음부터 품고있었기에 클릭을 해도 빈 배열이 나올 수 밖에 없었던 것이었다..
답정너st.

변수를 이밴트 함수 안 쪽으로 옮겨주니 해결!
const AllClearBtn = document.querySelector('.fa-plus-circle');
AllClearBtn.addEventListener('click', () => {
const lists = document.querySelectorAll('.item');
console.log(lists); // NodeList [item1, item2, item3...]
});