在javascript中阅读背景颜色并不起作用 - 为什么?

时间:2017-02-16 09:29:44

标签: javascript dom background-color

以下代码行生成一个空的警告框:

alert (document.getElementById(x).style.backgroundColor);   

当然,这只是一个控件,然后在if子句中使用背景颜色。

字符串变量x包含表数据单元的id< TD>< / TD>

x肯定存在。当我用另一个样式属性测试它时,该行有效,例如document.getElementById(x).style.height。

表格单元格x也具有定义的背景颜色。它设置在
javascript with

document.getElementById(x).style.backgroundColor = #00FF55

我还测试过像#34; lime"这样的颜色名称,但无济于事。 使用javascript设置背景颜色有效,阅读它不起作用。

我还测试了示例here,它有效,所以它不是我的浏览器的问题。

我在一个工作日的大部分时间里做了很多工作,仍然不知道。

3 个答案:

答案 0 :(得分:0)

document.getElementById(x).style.backgroundColor = #00FF55

SyntaxError:无效或意外的令牌

字符串文字必须包含"'

 document.getElementById("x").style.backgroundColor = "#00FF55";

您未能设置该值,因此当您尝试将其读回时,它仍未设置。

答案 1 :(得分:0)

ID的名称和=后面的值都必须被"..."

包围

答案 2 :(得分:0)

找到答案:

我最初在(php创建的)HTML中定义了单元格背景颜色:

<td ID ="x" name="nx" bgcolor=#00FF55 style="overflow: visible; border-left:1px solid grey"></td>

我在阅读这里的注释后尝试在引号中设置十六进制值,但HTML语法中甚至不允许这样做。

当通过javascript更改背景颜色时,它被设置为样式属性,这是有效的。 但是,将设定的颜色作为样式读取则没有。

我之前尝试过这个解决方案,从一开始就将颜色设置为样式,但由于这会导致表格的不必要行为,我将其丢弃。现在我重新编写了创建代码的表,并实现了将颜色设置为样式属性,一切都成功了。

我仍然认为在设置它们时,即使是HTML,也应该可以读取背景颜色。