0

也许答案比较简单,但我刚开始使用 Javascript,似乎无法实现我的目标:

我有这段 CSS 代码:

#tabmenu li a {
background: #ACBACF;
}

现在我想更改背景,但不仅是#tabmenu、li 或a,而是所有这些。我如何用 Javascript 做到这一点?

编辑:这是一个带背景的按钮,我想知道如何更改 css 部分的值。所以它不仅是背景,还有填充和其他东西,但为了简单起见,假设我只想用 javascript 更改背景。

HTML:

<ul id="tabmenu">
       <li>
           <a href="#index">Home</a>
      </li>
</ul>

编辑 2:我无法更改 HTML 或 CSS,因为我想创建一个用户脚本(Greasemonkey)。

4

1 回答 1

2

我不认为直接从 Javascript 设置 css 是最好的方法。它会导致大量的内联代码,并且不能很好地与您在外部文件中定义的样式配合使用。如果您要对 css 进行大量修改,我建议在 dom 中注入自定义样式标签:

var style = document.createElement("style")
style.setAttribute("type", "text/css");
style.innerHTML = "#tabmenu li a {\
    background: red;\
}";
document.getElementsByTagName("head")[0].appendChild(style)

在使用多行字符串值时,Javascript 中需要行尾的“\”。

最后,如果您遵循这条路线,我建议您在文本编辑器中编写 css 代码,然后将其与https://csscompressor.net/之类的内容打包在一起(这将为您提供单行字符串)并复制-将结果粘贴在括号之间。

于 2013-05-10T17:21:14.437 回答