Heim >Web-Frontend >CSS-Tutorial >Warum wählt querySelector bei Verwendung von querySelectorAll() nur das erste Element aus?

Warum wählt querySelector bei Verwendung von querySelectorAll() nur das erste Element aus?

Linda Hamilton
Linda HamiltonOriginal
2024-11-07 08:17:02590Durchsuche

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

Warum wählt querySelector nur das erste Element aus und wie kann ich das beheben?

Wenn die Methode querySelectorAll() für einen Selektor verwendet wird Wenn mehrere Elemente ausgewählt werden, wird eine Liste von Knoten zurückgegeben.

Im bereitgestellten Code verwenden Sie querySelectorAll(), um alle Elemente mit der Klasse „weekdays“ auszuwählen. Das Problem besteht darin, dass Sie querySelector() später im Code verwenden, um jedem Element in der Liste einen Ereignis-Listener hinzuzufügen, der nur auf das erste Element in der Liste abzielt.

Um dieses Problem zu beheben, sollten Sie verwenden forEach(), um jedes Element in der Liste zu durchlaufen und den Ereignis-Listener zu jedem Element hinzuzufügen.

Hier ist der aktualisierte Code:

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

Das obige ist der detaillierte Inhalt vonWarum wählt querySelector bei Verwendung von querySelectorAll() nur das erste Element aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn