{ li.addEventListener('click', (event) => { event.target.classList.add("selected"); }); }); // ※ querySelectorAll() 은 배열을 반환"> { li.addEventListener('click', (event) => { event.target.classList.add("selected"); }); }); // ※ querySelectorAll() 은 배열을 반환"> { li.addEventListener('click', (event) => { event.target.classList.add("selected"); }); }); // ※ querySelectorAll() 은 배열을 반환">
*// Bad*
const lis = document.querySelectorAll("li");

lis.forEach((li) => {
  li.addEventListener('click', (event) => {
    event.target.classList.add("selected");
  });
});
*// ※ querySelectorAll() 은 배열을 반환*
*// Cool (이벤트 위임)*
const ul = document.querySelector("ul");

ul.addEventListener('click', (event) => {
  if(event.target.tagName == "LI") {
    console.log(event.target);
    event.target.classList.add("selected");
  }
});