javascript - 为什么不能通过 JavaScript 在 'style' 属性中插入分号?

标签 javascript html

我试图用 JavaScript 更改 body 的背景颜色,发现以下内容不起作用:

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

但是,如果我省略分号,它就可以工作了:

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

为什么会这样? #000; 不还是字符串吗?

最佳答案

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

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

来自 the specification :

A rule set (also called "rule") consists of a selector followed by a declaration block.

A declaration block starts with a left curly brace ({) and ends with the matching right curly brace (}). In between there must be a list of zero or more semicolon-separated (;) declarations.

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

关于javascript - 为什么不能通过 JavaScript 在 'style' 属性中插入分号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40438205/

相关文章:

html - 停止在空格上有下划线的链接?

javascript - 水平固定列在 IE 上滞后

html - SCSS overlay display none 还在显示

javascript - 在每次 Git 推送上测试 JavaScript 代码(针对 Web 前端)的最简单方法

javascript - JS中如何对逻辑运算符进行分组?

javascript - 我如何改进此代码(固定导航栏)?

html - 将图像超链接翻转为文本行

html - css:目标是同一个类中的一个类

javascript - 如何为 amCharts 指南添加悬停?

javascript - 按钮链接到随机 div