【问题标题】:Loop not doing anything循环不做任何事情
【发布时间】:2026-01-01 16:00:01
【问题描述】:

我正在尝试遍历一个 html 对象数组,并为每个对象添加一个单击事件侦听器。 原因是 CSP。

问题是:它不这样做,没有错误......什么都没有......

在我发疯之前请帮忙。

var linkButtons = document.getElementsByClassName("navItem");
for(var i=0;i<linkButtons.length;i++){
  linkButtons[index].addEventListener("click",function()console.log("e.e");});
}

【问题讨论】:

  • 您引用的代码有语法错误 - 缺少 {。也就是说,上下文是什么?你在哪里叫这个?

标签: javascript polymer google-chrome-app


【解决方案1】:

function()console -> function(){console 并确保文档已加载。

更正:

document.addEventListener("DOMContentLoaded", function(){
    var linkButtons = document.getElementsByClassName("navItem");
    for(var i=0;i<linkButtons.length;i++){
        linkButtons[index].addEventListener("click",function(){console.log("e.e");});
    }
});

【讨论】:

  • 啊,哈哈哈哈简直不敢相信一个错字让我大吃一惊>.<..>
  • 顺便说一句,知道为什么这只适用于控制台打开吗?当控制台未打开时,监听器不会被附加
  • 我注意到在某些浏览器中,控制台在关闭时不存在,并且会导致错误。摆脱你 console.log's 或 overriding it so that it works anyway 应该可以解决这个问题。
  • 我是 chrome 应用,我不知道这是否重要
  • 在生产环境中,最好缩小代码并删除日志,但如果您像我发布的链接那样覆盖控制台,保留它们应该不会造成问题。
最近更新 更多