javascript - Javascript:未捕获的类型错误:无法读取未定义的属性 innerHTML
问题描述
我无法解决这个错误,它告诉我我的按钮未定义并且无法读取它们的 innerHtml 属性,转换方法是在原始代码文件中定义的,我没有问题,你能帮帮我吗,错误来自代码下面的部分:
var btnsArr = document.getElementsByClassName("btn")
for (var i = 0; i < btnsArr.length; i++) {
btnsArr[i].addEventListener("click", function () {
Convert(btnsArr[i].innerHTML);
return false;
})
} ```
解决方案
我可以在代码中看到一个非常常见的问题,即您的元素数组 ( btnsArr
) 用于定义for
. 这里的问题是btnsArr.length
必须btnsArr.length - 1
取而代之。
为什么?如果btnsArr
有 3 个元素,它的范围将从 0 到 2,但您for
期望从 0 到 3(因为btnsArr.length
是 3)。btnsArr[3]
然后,它可能在最后一个不存在的数组元素中失败。
我希望它至少有助于涵盖一些例外情况。
推荐阅读
- oracle - 在游标 PLSQL 过程中获取多条记录
- php - 使 Twig 安全函数的方法也 Twig 安全
- java - 我希望我的程序不打印所有带有数字的数字,也不用(。)开始或结束或重复
- c++ - 带有 -O3 警告的特征:参数 1 值“X”超过最大对象大小 Y
- powerbi - 使用 Power BI 和 Cortana 的会话分析
- excel - 检测非标准符号
- flutter - Flutter - 推送通知单击重定向到特定屏幕不起作用
- c++ - 如何获取 QGraphicsView 中加载的图像像素位置 - 奇怪的 MapToScene() 行为
- javascript - Compare hours with google-script
- javascript - 在 3 分钟后暂停来自 chrome 控制台的 youtube 视频