如何将类添加到特定样式表?

时间:2018-04-12 16:02:31

标签: javascript jquery css

我想使用CSSStyleSheet.insertRule()在特定样式表中插入一个新类。例如,该样式表的id为“customStylesheet”。

This page说“还可以从其所有者对象(Node或CSSImportRule)访问特定样式表(如果有)。”但是,我无法弄清楚如何访问该特定样式表。

3 个答案:

答案 0 :(得分:4)

这是相当直接的。

var sheet = document.getElementById('customStylesheet').sheet;

sheet.insertRule('.someclass {display: none;}'); // was missing a ' here

这是fiddle显示正常工作。我已经更新了小提琴,以显示它在头部的样式标签上工作。

答案 1 :(得分:0)

这可以在没有jQuery的情况下完成。假设您希望将课程purpleText设置为color: purple。首先,您将使用document.styleSheets[_index_].ownerNode.sheet获取样式表。接下来,使用insertRule()方法。该参数只是一个包含CSS代码的字符串,如".purpleText{color: purple}"中所示。因此,对于第一个样式表,整个命令将是document.styleSheets[0].ownerNode.sheet.insertRule(".purpleText{color: purple}");

答案 2 :(得分:0)

要按ID获取样式表,请使用:

document.getElementById('stylesheet').sheet;