为什么使用getElementById的`even`函数不起作用?

时间:2018-07-28 12:23:06

标签: javascript html

有人可以帮我解决>>> list ['32','323','32','42','323'] 吗?

document.getElementById

2 个答案:

答案 0 :(得分:-1)

您可能在DOM完全加载之前正在运行函数,而试图获取的元素将不存在。在DOM准备就绪后,您应该运行函数。

document.addEventListener("DOMContentLoaded", function(){
 even();
});

此外,您正在尝试在i循环之外使用变量for的值(它将是未定义的)。您的代码也有一些语法错误。您没有函数的开始和结束括号。

function even(){
for(i=0;i<10;i++){ 
if (i%2 == 0){
alert(i);
document.getElementById("even").innerHTML = i + ' ';
}
} 
}
document.addEventListener("DOMContentLoaded", function(){
  even();
});
<span id="even"></span>

答案 1 :(得分:-1)

最简单的检查方法是将代码放入浏览器的调试控制台(Chrome中为ctrl + shift + c,然后单击控制台选项卡,粘贴您的js,按Enter)。如果它以这种方式工作,则意味着如上面的hev1所述,您正在尝试对其进行加载/创建之前对其进行访问。