>  기사  >  웹 프론트엔드  >  querySelectorAll()을 사용할 때 querySelector가 첫 번째 요소만 선택하는 이유는 무엇입니까?

querySelectorAll()을 사용할 때 querySelector가 첫 번째 요소만 선택하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-07 08:17:02516검색

Why does querySelector only select the first element when using querySelectorAll()?

querySelector가 첫 번째 요소만 선택하는 이유는 무엇이며 어떻게 해결할 수 있나요?

선택기에서 querySelectorAll() 메서드를 사용할 때 여러 요소를 선택하면 노드 목록이 반환됩니다.

제공된 코드에서는 querySelectorAll()을 사용하여 "weekdays" 클래스가 있는 모든 요소를 ​​선택합니다. 문제는 코드 뒷부분에서 querySelector()를 사용하여 목록의 첫 번째 요소만 대상으로 하는 이벤트 리스너를 목록의 각 요소에 추가한다는 것입니다.

이 문제를 해결하려면 다음을 사용해야 합니다. forEach()를 사용하여 목록의 각 요소를 반복하고 각 요소에 이벤트 리스너를 추가합니다.

업데이트된 코드는 다음과 같습니다.

document.querySelectorAll(".weekdays").forEach(elem => elem.addEventListener("click",
 () => {
    document.querySelector(".bg-modal").style.display = "flex";
  }));

위 내용은 querySelectorAll()을 사용할 때 querySelector가 첫 번째 요소만 선택하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.