Heim > Artikel > Web-Frontend > Warum wählt querySelector bei Verwendung von querySelectorAll() nur das erste Element aus?
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!