我用它来显示一个需要保持隐藏的项目,直到我点击一个按钮来显示它,问题是它做了它的意图,但仍然在控制台上显示错误。这是我正在使用的代码。
<button onclick="MostrarPuntaje()">Mostrar Puntajes</button>
和按钮调用的Javascript函数:
function MostrarPuntaje(){
var elements = document.getElementsByClassName('puntaje');
for(var i = 0; i!=elements.lenght; i++){
elements[i].style.visibility = 'visible';
}
最后,这是控制台显示的错误,即使它确实显示了隐藏的项目。
tablero.html:53未捕获的TypeError:无法读取未定义的属性“样式”
第53行是(它在for循环中):
elements[i].style.visibility = 'visible';
我希望你能理解我的代码和我的话,因为我似乎无法找到解释这个错误的正确方法,老实说我不知道我做错了什么,感谢阅读,我希望你能帮助我。
答案 0 :(得分:2)
这是因为拼写错误。在for循环中将条件更改为elements.length
而不是elements.lenght
。
为什么会有效
for循环条件i!=elements.lenght
将被解释为i!= undefined
并且条件始终为真,因为索引从0开始并且增加。
所以elements[0]
效果很好。然后它将移动到未定义的下一步elements[1]
并且由于我们正在访问未定义的样式属性而抛出错误