为什么不能通过样式属性中的javascript插入分号?

时间:2016-11-05 12:23:23

标签: javascript html

我试图使用javascript更改body的bcakground并观察到以下内容无效:

document.body.style.background = "#000;"  

但是如果我省略分号那么它就可以了:

document.body.style.background = "#000"  

为什么会这样? Isn&#t; t #000;仍然是一个字符串?

2 个答案:

答案 0 :(得分:6)

;不是价值的一部分。这是一个样式分隔符

selector {
    styleName: styleValue;
    /* Separator --------^----- */
}

来自the spec

  

规则集(也称为“规则”)由选择器后跟声明块组成。

     

声明块以左大括号({)开头,以匹配的右大括号(})结束。在两者之间必须有一个零个或多个以分号分隔;)声明的列表。

你的第二个例子(没有;)是正确的。您的第一个示例无法设置样式,因为值#000;无效,因此浏览器会忽略它。

答案 1 :(得分:-2)

因为当你将背景风格设置为#000时;它输出背景:#000 ;;这不是一个合适的CSS规则