Javascript:更改id中的css子节点

Javascript:更改id中的css子节点,javascript,css,Javascript,Css,也许答案相对简单,但我刚开始使用Javascript,似乎无法实现我的目标: 我有一段CSS代码: #tabmenu li a { background: #ACBACF; } 现在我想改变背景,但不仅仅是为#tabmenu、li或a,而是所有这些。 如何使用Javascript实现这一点 编辑: 这是一个带有背景的按钮,我想知道如何更改css部分的值。所以它不仅是背景,还有填充和其他东西,但为了简单起见,假设我只想用javascript更改背景 HTML: 编辑2: 我无法更改HT

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

我有一段CSS代码:

#tabmenu li a {
background: #ACBACF;
}
现在我想改变背景,但不仅仅是为#tabmenu、li或a,而是所有这些。 如何使用Javascript实现这一点

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

HTML:

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

我认为直接从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代码,然后用类似的东西打包(这将给您一个单行字符串),并将结果复制粘贴到括号之间

你能定义它们吗?请同时发布一些HTML代码,并更具体地说明你想要实现的目标。要同时为所有三个设置css,请使用逗号来表示它们
#tabmenu、#tabmenu li、#tabmenu li a{背景:#ACBACF;}
我编辑了这个问题@gbtimmon,谢谢你的回复,但我不是这个意思。我无法触摸HTML或CSS,因为我正在使用用户脚本进行更改。请尝试以下文档。getElementById('tabmenu')。style.backgroundColor='#123456';非常感谢你!这就成功了。这并不是真正的“重大修改”,只是改变了现有的css规则。无论如何,我可以继续我的剧本。再次感谢!
var style = document.createElement("style")
style.setAttribute("type", "text/css");
style.innerHTML = "#tabmenu li a {\
    background: red;\
}";
document.getElementsByTagName("head")[0].appendChild(style)