I keep getting this error: Uncaught TypeError: Cannot read property 'style' of undefined
I keep getting this error: Uncaught TypeError: Cannot read property 'style' of undefined
上面的错误告诉我它在第346行。
我去了那里,对所有内容进行了三次检查,但似乎没有任何问题。
除非以下陈述为真,否则变量 "cw" 一直在变化。这是因为我正在制作一个像 2D Minecraft 这样的方块,并且 "cw" 通过从 0 变为 159 再变回 0 来检查所有 buttons/blocks 中的任何一个是否有水。
这是代码:
if (document.getElementsByTagName("button")[cw].style.backgroundColor === "#00ced1") {
我不再研究这个了,但感谢 Quentin 指出我问题的缺陷...出于某种原因我完全忘记了包括背景代码,而这个原因早已被遗忘。该代码在我的旧计算机上,但如果您出于某种原因需要它,请发表评论。
如果您说 cw
变量一直在变化,那么可能会出现 document.getElementsByTagName("button")[cw]
会 return undefined
的情况。如果这是您的代码并且您可以修改它,那么您可以将 if 语句更改为以下语句:
if (document.getElementsByTagName("button")[cw] && document.getElementsByTagName("button")[cw].style && document.getElementsByTagName("button")[cw].style.backgroundColor === "#00ced1") {
在这种情况下,您将收到三倍的相同元素,因此您可能应该添加额外的变量:
var element = document.getElementsByTagName("button")[cw]
if (element && element.style && element.style.backgroundColor === "#00ced1") {
// code
}
上面的错误告诉我它在第346行。 我去了那里,对所有内容进行了三次检查,但似乎没有任何问题。 除非以下陈述为真,否则变量 "cw" 一直在变化。这是因为我正在制作一个像 2D Minecraft 这样的方块,并且 "cw" 通过从 0 变为 159 再变回 0 来检查所有 buttons/blocks 中的任何一个是否有水。 这是代码:
if (document.getElementsByTagName("button")[cw].style.backgroundColor === "#00ced1") {
我不再研究这个了,但感谢 Quentin 指出我问题的缺陷...出于某种原因我完全忘记了包括背景代码,而这个原因早已被遗忘。该代码在我的旧计算机上,但如果您出于某种原因需要它,请发表评论。
如果您说 cw
变量一直在变化,那么可能会出现 document.getElementsByTagName("button")[cw]
会 return undefined
的情况。如果这是您的代码并且您可以修改它,那么您可以将 if 语句更改为以下语句:
if (document.getElementsByTagName("button")[cw] && document.getElementsByTagName("button")[cw].style && document.getElementsByTagName("button")[cw].style.backgroundColor === "#00ced1") {
在这种情况下,您将收到三倍的相同元素,因此您可能应该添加额外的变量:
var element = document.getElementsByTagName("button")[cw]
if (element && element.style && element.style.backgroundColor === "#00ced1") {
// code
}