昨天用js写了一个随机抽奖系统出现了Uncaught TypeError: Cannot set properties of null (setting 'innerText')
这个报错意思是无法读取nll属性的'innerText',即找不到你想要将所写的HTML代码插入地方
原因:
浏览器加载页面是从上往下,会将HTML文档解析为一个DOM树,当执行到js代码块中的innetText这一行时并没有加载到下面的DOM结构就会报错
解决办法:
1.将要读取的js文件放入body后面
2.js文件中加入window.onload
(function(){
window.onload = function(){
var box = document.getElementById('box');
var begin = document.getElementById('begin');
var end = document.getElementById('end');
var arr = ['王者荣耀','吃鸡','斗地主','羊了个羊','开心消消乐'];
box.innerText = arr[0];
var index = 0;
var time = null;
begin.onclick = function(){
begin.disabled = true;
time = setInterval(function(){
index++;
if(index>4){
index = 0;
}
box.innerText = arr[index];
},100);
}
end.onclick = function(){
clearInterval(time);
begin.disabled = false;
}
}
})();