我正在尝试运行下面的脚本,它给出了一个错误:game.js:35 Uncaught TypeError:无法读取未定义的属性'classList' 在HTMLDivElement。 (game.js:35)
the error happens right here : allNumbers[i].classList.remove("show");
var numberOfCircles = 9;
var rangeOfNumbers =1000;
var circles = document.querySelectorAll(".circle-number");
var generateRandomNumbers =[];
/*var pickedNumber = pickNumber();*/
var messageToDisplay = document.querySelector(".guess-number");
var krug = document.querySelectorAll(".circle");
var numberToGuess;
var numberPosition;
var counter=0;
var allNumbers= document.querySelectorAll(".show");
randomNumbers(numberOfCircles,rangeOfNumbers);
randomNumberToDisplay();
compareNumbers();
reset();
function compareNumbers(){
for (var i=0; i < allNumbers.length; i++){
krug[i].addEventListener("click", function(){
allNumbers[i].classList.remove("show");
counter +=1;
if(Number(circles.textContent) ==numberToGuess){
circles.style.color ="green";
alert("You guessed right from" + counter+" try")
} else {
this.style.color ="red";
}
})
}
}
答案 0 :(得分:0)
在commpareNumbers中,将其添加到for循环之前:
if (allNumbers === undefined) {
return
}
未定义可能是由于
var allNumbers= document.querySelectorAll(".show");
不返回任何结果。