2014-09-21 93 views
1
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); 
    } 
} 

财产“身份证”我得到这个错误“无法读取属性‘身份证’的未定义” .. 但是当我键入任务[0]或任务在我的浏览器控制台[1]给出正确的结果,如“*”和“+”....无法读取的不确定

回答

0

这是一个古典错误。

您已经定义了我作为一个全局变量,所以你的后循环i的值将是= 2

当你点击元素,它将始终调用任务[2]这是不确定的。

做你想做的事,你可以在functon

task[i].onclick = function(){ 
    console.log(this.id); 
} 
+0

我怎么能犯这样的错误中调用这个..反正感谢的人.... – Prime 2014-09-21 08:48:04