var task = [document.getElementById('*'),
document.getElementById('+')];
var i;
var displayfield = document.getElementById('displayarea');
displayfield.disabled=true;
for(i=0;i<task.length;i++){
task[i].onclick = function(){
console.log('entered?');
displayfield.innerHTML = task[i].id;
console.log('clicked');
console.log(task[i].id.length);
}
}
我收到此错误&#34;无法读取属性&#39; id&#39;未定义&#34; .. 但是当我在浏览器控制台中输入任务[0]或任务[1]并给出正确的结果时,如&#34; *&#34;和&#34; +&#34; ....
答案 0 :(得分:0)
这是一个经典的错误。
您已将i定义为全局变量,因此在您的for循环之后,i的值将为= 2.
单击元素时,它将始终调用未定义的任务[2]。
要做你想做的事,你可以在功能中调用它
task[i].onclick = function(){
console.log(this.id);
}