Javascript 为什么背景色属性不可赋值

Javascript 为什么背景色属性不可赋值,javascript,Javascript,我有一个id为1的div。我将背景色设置为红色。我想在单击div时将此选项更改为随机颜色,因此我制作了一个函数来执行此操作。我的问题: 为什么在JS中写“背景色”而不是“背景色”时不起作用?如果我写“background color”,那么我会得到一个错误,说操作符的左边有一个错误的赋值。提前谢谢 代码: Javascript属性和变量使用驼峰大小写语法。此外,在这种情况下,破折号是被禁止的,因为它们将被解释为一个减法运算符。这就是为什么会出现此错误。要在JavaScript中指定包含破折号的

我有一个id为1的div。我将背景色设置为红色。我想在单击div时将此选项更改为随机颜色,因此我制作了一个函数来执行此操作。我的问题:

为什么在JS中写“背景色”而不是“背景色”时不起作用?如果我写“background color”,那么我会得到一个错误,说操作符的左边有一个错误的赋值。提前谢谢

代码:


Javascript属性和变量使用驼峰大小写语法。此外,在这种情况下,破折号是被禁止的,因为它们将被解释为一个减法运算符。这就是为什么会出现此错误。

要在JavaScript中指定包含破折号的CSS属性,只需删除破折号即可。例如,
背景色
变为
背景色
边界半径
属性转换为
边界半径
,依此类推

您不能在JavaScript中使用
-
,因为
-
是一个特殊的关键字。例如,如果您正在使用:

background-color
这意味着要减去两个变量
背景
颜色

您的代码只更改背景颜色一次,如果希望每次都更改颜色,则需要:

let r1 = Math.floor(Math.random() * 255);
let r2 = Math.floor(Math.random() * 255);
let r3 = Math.floor(Math.random() * 255);
element.style.backgroundColor = `rgb(${r1},${r2},${r3})`;

只能在CSS中使用背景色,但在JavaScript中,可以使用驼峰大小写。例如,如果它是
font-family
,您可以写为
fontfmily
。谢谢您的帮助!我想我只使用了烤肉串,因为这是我试图通过JS在CSS中访问的属性。下次我会记得将虚线属性转换为驼峰大小写。非常感谢。因为
-
是JavaScript中的一个运算符。@Ilyaskarim您知道当您继续单击正方形时,是否有办法不断更改其颜色吗?使用onclick时,颜色只更改一次,然后必须重新加载页面才能再次更改。顺便说一句,我仍在学习JS。@Ilyaskarim被提升了,很多感谢的人将来会记住这一点。在这种情况下,这并不重要,因为人眼无法真正感受到全光和小于全光之间的差异,但因为返回的数字介于0(包括)和1(不包括)之间,
Math.floor(Math.random()*255)
将只生成介于
0
254
之间的数字。要获得最大为
255
的完整范围,请乘以
256
let r1 = Math.floor(Math.random() * 255);
let r2 = Math.floor(Math.random() * 255);
let r3 = Math.floor(Math.random() * 255);
element.style.backgroundColor = `rgb(${r1},${r2},${r3})`;