【问题标题】:I keep getting this error: Uncaught TypeError: Cannot read property 'style' of undefined我不断收到此错误:未捕获的类型错误:无法读取未定义的属性“样式”
【发布时间】:2015-10-10 00:51:01
【问题描述】:

错误在上面,它告诉我它在第 346 行。 我去那里检查了一切,但似乎没有任何问题。 除非以下陈述为真,否则变量“cw”一直在变化。这是因为我正在制作一个放置 2D Minecraft 之类的块,并且“cw”通过从 0 更改为 159 并再次变回 0 来检查所有按钮/块中的任何一个中的水。 代码如下:

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

我不再做这个了,但感谢昆汀指出我的问题的缺陷......我出于某种原因完全忘记了包含背景代码,而这个原因早已被遗忘。代码在我的旧电脑上,但如果你出于某种原因想要它,只需发表评论。

【问题讨论】:

  • 您希望我们说什么?显然document.getElementsByTagName("button")[cw] 是未定义的。错误消息为您说明了这一点。您完全没有提供任何上下文,因此我们无法说明您为什么认为应该定义它或如何解决它。
  • 能不能把cw相关的html和js加进去

标签: javascript styles typeerror


【解决方案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
}

【讨论】:

  • 谢谢!我试试看
猜你喜欢
  • 2017-07-11
  • 2020-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-24
  • 2017-02-11
相关资源
最近更新 更多