Javascript 更改div的颜色--使用ID

Javascript 更改div的颜色--使用ID,javascript,html,css,Javascript,Html,Css,我正在尝试使用div的ID更改其颜色。 字符串有效,但十六进制值无效 工作:-- 不工作:-- 如何使用十六进制值更改div的颜色?十六进制值与所有CSS值一样,需要是字符串 div.style.backgroundColor = '#3e4046'; 如果为CSS属性提供无字符串值,它将转换为字符串。例如,当转换为字符串时,0x3e4046等于'4079686',这不是有效的CSS颜色。在#3e4046的情况下,您实际上有一个语法错误,因为#3e4046不是有效的JavaScript。在这种

我正在尝试使用div的ID更改其颜色。
字符串有效,但十六进制值无效

工作:--

不工作:--


如何使用十六进制值更改div的颜色?

十六进制值与所有CSS值一样,需要是字符串

div.style.backgroundColor = '#3e4046';

如果为CSS属性提供无字符串值,它将转换为字符串。例如,当转换为字符串时,
0x3e4046
等于
'4079686'
,这不是有效的CSS颜色。在
#3e4046
的情况下,您实际上有一个语法错误,因为
#3e4046
不是有效的JavaScript。

在这种情况下,如果您使用控制台(F12),您将不会因此问这个问题!:)用它!建议不要使用数字作为ID。@torazaburo虽然我也建议不要只使用数字作为ID,但在HTML5中是允许的。
div.style.lineHeight=2
可以正常工作。因此,要学究式地看待这个问题,将style属性设置为数字本身并不是问题,但该属性的值必须是可接受的。因此,这不是“所有CSS值……都必须是字符串”的问题(尽管在内部它们最终将成为字符串)。在这种情况下,问题特别是“backgroundColor”不采用数值。@torazaburo是一个公平的点,尽管从技术上讲,这只起作用,因为
2
将自动神奇地转换为字符串
'2'
。我会记下来的。
var div = document.getElementById('1');
div.style.backgroundColor = #3e4046;
div.style.backgroundColor = 0x3e4046;
div.style.backgroundColor = '#3e4046';