Maison >interface Web >tutoriel CSS >Pourquoi « querySelector » sélectionne-t-il uniquement le premier élément et comment puis-je résoudre ce problème ?
En JavaScript, la méthode querySelector sélectionne le premier élément correspondant dans le document en fonction de la chaîne de sélection fournie. Si plusieurs éléments correspondent au sélecteur, seul le premier est renvoyé.
Dans votre CodePen fourni, vous utilisez querySelector pour sélectionner les éléments avec la classe en semaine. Cependant, vous observez que seul le premier élément correspondant déclenche l'événement de clic, alors que tous les autres ne le font pas.
Pour résoudre ce problème, vous devez utiliser querySelectorAll à la place, qui renvoie une NodeList contenant tous les éléments correspondants. Ensuite, vous pouvez parcourir la NodeList et attacher le gestionnaire d'événements à chaque élément.
document.querySelectorAll(".weekdays").forEach(elem => { elem.addEventListener("click", () => { document.querySelector(".bg-modal").style.display = "flex"; }); });
Maintenant, lorsque vous cliquez sur un élément des jours de la semaine, le modal sera apparaît correctement, corrigeant le problème que vous rencontriez avec querySelector en sélectionnant uniquement le premier élément.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!