Javascript 我的easy按钮提供了错误数量的颜色

Javascript 我的easy按钮提供了错误数量的颜色,javascript,html,Javascript,Html,当我点击mt‘Easy’btn,它应该给我3种颜色的输出,它给我6种像我的‘hard’btn一样的颜色(同样在控制台中我得到6种颜色) 我的JS的一部分: var modeBtn=document.queryselectoral(“.mode”); 对于(变量i=0;i

当我点击mt‘Easy’btn,它应该给我3种颜色的输出,它给我6种像我的‘hard’btn一样的颜色(同样在控制台中我得到6种颜色)

我的JS的一部分:

var modeBtn=document.queryselectoral(“.mode”);
对于(变量i=0;i

新颜色
容易的
硬的

我调试了代码,发现问题在于init()方法中I的值

加载文档后,init()方法向两个按钮(Easy和Hard)添加事件侦听器。当i的值变为2时,循环终止

单击按钮时,由于i被声明为var,它在函数级别而不是块级别创建范围,因此this.textContent实际上尝试访问未定义的modeBtn[2]的值

因此,解决方案是将变量i声明为let。这肯定会解决您的问题


有关更多详细信息,请参阅此部分。

我调试了代码,发现问题在于init()方法中的I值

加载文档后,init()方法向两个按钮(Easy和Hard)添加事件侦听器。当i的值变为2时,循环终止

单击按钮时,由于i被声明为var,它在函数级别而不是块级别创建范围,因此this.textContent实际上尝试访问未定义的modeBtn[2]的值

因此,解决方案是将变量i声明为let。这肯定会解决您的问题


有关更多详细信息,请参阅此内容。

textContext
更改为
textContent
。提示:改用data attr。非常感谢,我花了大约一个小时的时间来解决这个问题……嗯,在easy上,我得到了3种颜色。numSquare=(this.textContent=“easy”)?3:6;有点短也许你可以帮我做一点与此代码相关的事情…不知何故,不是所有的方块都会对鼠标点击做出响应。起初我认为这与延迟有关,但我在手机上也尝试过,结果是一样的。从
textContext
更改为
textContent
。提示:使用数据-attr。非常感谢,我花了大约一个小时来解决这个问题……嗯,在easy上,我得到了3种颜色。numSquare=(this.textContent==“easy”)?3:6;有点短也许你可以帮我做一点与此代码相关的事情…不知何故,不是所有的方块都会响应鼠标单击。起初我认为这与延迟有关,但后来我在手机上也尝试过,结果是一样的。