为什么 querySelector 只选择第一个元素以及如何解决这个问题?
理解 querySelector
在 JavaScript 中,querySelector 方法选择第一个元素根据提供的选择器字符串匹配文档中的元素。如果多个元素与选择器匹配,则仅返回第一个元素。
问题描述
在您提供的 CodePen 中,您使用 querySelector 选择工作日类的元素。但是,您会发现,只有第一个匹配元素会触发单击事件,而其他所有元素都不会触发。
解决方案:对多个元素使用 querySelectorAll
要解决此问题,您应该使用 querySelectorAll方法,它返回一个包含所有匹配元素的 NodeList。然后,您可以迭代 NodeList 并将事件处理程序附加到每个元素。
修订的代码:
document.querySelectorAll(".weekdays").forEach(elem => { elem.addEventListener("click", () => { document.querySelector(".bg-modal").style.display = "flex"; }); });
说明:
- document.querySelectorAll( ".weekdays"):选择所有具有工作日类的元素并将它们作为NodeList.
- forEach:迭代 NodeList 中的每个元素。
- elem.addEventListener("click", ...):为每个工作日元素附加一个点击事件监听器,这会触发与之前显示表单模态的代码相同。
现在,当您单击任何工作日元素时,模态将正确显示,解决了您在 querySelector 中仅选择第一个元素时遇到的问题。
以上是为什么'querySelector”仅选择第一个元素以及如何解决此问题?的详细内容。更多信息请关注PHP中文网其他相关文章!

前几天我得到了这个问题。我的第一个想法是:奇怪的问题!特异性是关于选择者的,而在符号不是选择器,那么...无关紧要?

在这篇文章中,我们将使用我构建和部署的电子商务商店演示来进行Netlify,以展示如何为传入数据制作动态路线。这是一个公平的


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver CS6
视觉化网页开发工具

WebStorm Mac版
好用的JavaScript开发工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

记事本++7.3.1
好用且免费的代码编辑器