我的代码有点问题。如果我单击2个div,它们会显示一个随机数,但如果我单击第三个div。我的所有号码都必须删除,但它不起作用。有人能帮我吗?
let mijnDivs = document.querySelectorAll("div")
let i = 0
while (i<mijnDivs.length) {
mijnDivs[i].addEventListener("click", toevoegen)
i++
}
function toevoegen(event) {
console.log("het werkt")
let nummer = randomNumber(1,9)
this.innerHTML = nummer
this.classList.toggle("zichtbaar")
if (this.classList.contains("zichtbaar").length === 2) {
console.log("yay")
}
}
function randomNumber (min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
@julie,如果我理解正确的话,当点击相同的div时,前两次它应该显示随机数。它应该第三次清除它。如果我的理解是正确的,那么问题是classList.toggle
不会继续添加类。如果它存在,则删除它,如果它不存在,则添加它。永远不会出现this.classList.contains("zichtbaar").length
大于1的情况。
解决方案可能是存储数据属性中的点击次数,并检查它是否需要生成随机数或清除它。 MDN参考:https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes