2015-07-20 65 views
-4

错误在上面,它告诉我它在第346行。 我去了那里,三重检查了一切,但没有任何东西似乎是错的。 变量“cw”一直在改变,除非下面的陈述是真实的。这是因为我正在做一个像2D Minecraft这样的块放置工具,并且“cw”正在通过从0改变到159再次返回到0来检查所有按钮/块中的水。 下面的代码:我一直得到这个错误:Uncaught TypeError:无法读取undefined的属性'style'

if (document.getElementsByTagName("button")[cw].style.backgroundColor === "#00ced1") { 

我不是这方面的工作了,但由于昆汀指出我的问题的缺陷......我完全忘了,包括出于某种原因,后台代码,而这个原因是长忘记了。该代码在我的旧电脑上,但如果你出于某种原因需要它,只是评论。

+5

你期望我们说什么?显然'document.getElementsByTagName(“button”)[cw]'是未定义的。错误消息为你拼写。你提供的绝对没有上下文,所以我们不可能告诉你为什么认为它应该被定义或者如何解决它。 – Quentin

+0

你可以添加html和与cw相关的js – depperm

回答

1

如果您认为cw变量一直在变化,那么可能会出现document.getElementsByTagName("button")[cw]将返回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 
} 
+0

谢谢!我会尝试一下 –

相关问题