javascript - 我正在寻找出现 TypeError : x is undefined 的原因

标签 javascript typeerror

运行代码时出现错误,但它确实按预期删除了元素。

我尝试使用 querySelectorAll 但这给了我“slet.style 未定义”

    if (document.URL.indexOf("/catalog/categories/departments/") > -1) {
    var allProducts = document.getElementsByClassName("threeColumn product");
    for (var i = 0; i < allProducts.length; i++) {

    var slet = document.getElementsByTagName("mark")[i];
    slet.style.display = "none";
    console.log("This is here now");
        }
   }

我希望代码不在 URL 中包含/catalog/categories/departments/的所有页面上显示名为 mark 的元素。 它确实显示:无,但我收到一条错误消息:

"TypeError: slet is undefined" But I think I already defined it in the "slet" var?  

最佳答案

如果 document.getElementsByTagName() 返回空 HTMLCollection,则 document.getElementsByTagName()[i] 返回 undefined,所以 slet未定义。这并不意味着您的变量slet不存在 - 这会引发ReferenceError -但它的是特殊的未定义 对象。

关于javascript - 我正在寻找出现 TypeError : x is undefined 的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54126454/

相关文章:

javascript - 选择选项时更改输入的占位符

Javascript 在 for 循环之前附加 html 标签

javascript - 如何测试事件触发后是否调用了函数?

F# 多项式微分器

Ruby: erb throwing error "` result': can't convert String into Integer (TypeError)”

javascript - 饼图 Canvas 动画在一帧上显示完整的圆

javascript - 我可以在空数组中搜索吗?

ios - 无法将类型 'SlideAnimation.Type' 的值分配给类型“UIViewControllerTransitioningDelegate”?

python - 类型错误... 'myModel' 对象不可迭代

javascript - 由于未定义的 .length 导致 .setValues 错误