无法读取未定义的属性“目标”-for循环

时间:2018-10-21 18:14:51

标签: javascript loops

我发现我的代码中有一个错误,如果有人对此有解决方案,我将非常高兴和感激。

问题在.target.textContent === letterClass[i].textContent){

function checkLetter(e) {
  discover = null;
  //LOOP THROUGH letterClass and check, if they match the letter in the button player has chosen
  for (let i = 0; i < letterClass.length; i++) {
   if(e.target.textContent === letterClass[i].textContent){
    discover = true;
    letterClass[i].classList.add("show");
   }
  }
  return discover;
};
checkLetter();

const letterClass = document.getElementsByClassName('letter');

3 个答案:

答案 0 :(得分:0)

您不带任何参数调用checkLetter。因此,您的checkLetter函数中的“ e”未定义。

检查以下行,并尝试使用有效事件调用该函数:

checkLetter();

答案 1 :(得分:0)

您正在调用checkLetter(),但没有传递事件。该函数正在等待您调用e的事件,因此e.target是未定义的。

答案 2 :(得分:-1)

由于吊起letterClass,脚本的顶部带有undefined值。在对函数调用之前,请尝试设置您的const,这会有所帮助。