首页 > 解决方案 > 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;
    })
} ```

标签: javascript

解决方案


我可以在代码中看到一个非常常见的问题,即您的元素数组 ( btnsArr) 用于定义for. 这里的问题是btnsArr.length必须btnsArr.length - 1取而代之。

为什么?如果btnsArr有 3 个元素,它的范围将从 0 到 2,但您for期望从 0 到 3(因为btnsArr.length是 3)。btnsArr[3]然后,它可能在最后一个不存在的数组元素中失败。

我希望它至少有助于涵盖一些例外情况。


推荐阅读