javascript - 未捕获的类型错误:无法读取 HTMLImageElement 处未定义的属性“切换”。
问题描述
这是代码:
let imagenes = document.querySelectorAll(".team");
let modal = document.querySelectorAll("#modal");
let img = document.querySelectorAll("#modal__img");
let boton = document.querySelectorAll("#modal__boton");
for (let i = 0; i < imagenes.length; i++){
imagenes[i].addEventListener("click", function(e){
modal.classList.togle("modal--open");
})
}
错误:
Uncaught TypeError: Cannot read property 'toggle' of undefined at HTMLImageElement.<anonymous>"
解决方案
如果您使用的是querySelectorAll
,您将获得一个 HTML 集合,因此您需要遍历它的元素来切换一个类。如果您只想切换一个元素,则定位速度更快,但如果您需要切换多个元素,您的代码将如下所示
const elements = document.quesySelectorAll('.myClass');
elements.forEach(x => x.classList.toggle('otherClass');
推荐阅读
- javascript - amcharts 堆积柱形图中的工具提示放置
- react-native - 错误:文本字符串必须在
组件,出现在 android 中,但在 web 上可以正常工作 - gitlab - Gitlab CI:在 Kaniko Job 中执行自己的脚本
- r - 根据年份找到加权平均值
- apache-spark - 在 spark 3.0.0 中无法触发 AQE 的倾斜连接优化
- java - BeanUtilsBeans copyProperties 不复制任何字段
- android - savedInstanceState 在第一次应用程序关闭后为空,但在第二次关闭后不为空
- html - How to apply to @font-face?
- qt - 在使用 LLVM 的 Windows 上的 QtCreator 编译中没有规则来制作目标
- php - 如果记录不存在并从数据库中获取数据,则需要插入 sql