2014-09-21 2 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