Javascript 无法读取属性';id';未定义的 var task=[document.getElementById('*'), document.getElementById(+'); var i; var displayfield=document.getElementById('displayarea'); displayfield.disabled=true; 对于(i=0;i

Javascript 无法读取属性';id';未定义的 var task=[document.getElementById('*'), document.getElementById(+'); var i; var displayfield=document.getElementById('displayarea'); displayfield.disabled=true; 对于(i=0;i,javascript,Javascript,),这是一个经典错误 您已经将i定义为全局变量,因此在for循环之后,i的值将为=2 单击元素时,它将始终调用未定义的任务[2] 要做你想做的事情,你可以在函数中调用它 var task = [document.getElementById('*'), document.getElementById('+')]; var i; var displayfield = document.getElementById('displayarea'); displ

),这是一个经典错误

您已经将i定义为全局变量,因此在for循环之后,i的值将为=2

单击元素时,它将始终调用未定义的任务[2]

要做你想做的事情,你可以在函数中调用它

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);
    }
}

我怎么会犯这样的错误…无论如何,谢谢你,伙计。。。。
task[i].onclick = function(){
  console.log(this.id);
}