Starte ich das Programm so beginnt es so wie ich es will. Irgendwann wird dann aber ein Fehler gezeigt
("main.js:27 Uncaught TypeError: Cannot read properties of null (reading 'setAttribute')
at ClickIt (main.js:27)
at clickvol2 (main.js:21)
at HTMLParagraphElement.<anonymous> (main.js:30))
und mehrere Flächen farbig markiert und man muss manchmal doppelt klicken. Wo liegt hier der Fehler?
JS:
"use strict";
let genNum = function() {
let gen = Math.random() * 9;
let num = Math.round(gen);
let numers = ["null", "eins", "zwei", "drei", "vier", "fünf", "sechs", "sieben", "acht", "neun"];
let final = (numers[num]);
if(final === "zehn") {
genNum()
}
return final;
};
let i = 0;
document.getElementById("Punkteanzahl").textContent = i;
let clickvol2 = function() {
if (document.querySelector("#eins", "#zwei", "#drei", "#vier", "#fünf", "#sechs", "#sieben", "#acht", "#neun").hasAttribute("class")) {
console.log(".")
} else {
ClickIt(genNum())
}};
let ClickIt = function(num) {
let hash = "#";
let ident = hash.concat(num);
document.querySelector(ident).setAttribute("class", "click");
document.querySelector(ident).addEventListener("click", function() {
document.querySelector(ident).removeAttribute("class");
clickvol2();
i++;
})
};
ClickIt(genNum());
console.log(document.getElementById("Punkteanzahl").textContent)