Javascript 如何将类添加到特定样式表?
我想使用在特定样式表中插入一个新类。例如,该样式表具有id“customStylesheet”Javascript 如何将类添加到特定样式表?,javascript,jquery,css,Javascript,Jquery,Css,我想使用在特定样式表中插入一个新类。例如,该样式表具有id“customStylesheet” 表示“还可以从其所有者对象(节点或CSSImportRule,如果有的话)访问特定的样式表。”。但是,我不知道如何访问特定的样式表。这可以在没有jQuery的情况下完成。假设您希望将类purpleText的所有内容设置为color:purple。首先,您可以使用document.styleSheets[\u index\u].ownerNode.sheet获取样式表。接下来,使用insertRule(
表示“还可以从其所有者对象(节点或CSSImportRule,如果有的话)访问特定的样式表。”。但是,我不知道如何访问特定的样式表。这可以在没有jQuery的情况下完成。假设您希望将类
purpleText
的所有内容设置为color:purple
。首先,您可以使用document.styleSheets[\u index\u].ownerNode.sheet
获取样式表。接下来,使用insertRule()
方法。参数只是一个包含CSS代码的字符串,如“.purpleText{color:purple}”
中所示。因此,对于第一个样式表,整个命令将是document.styleSheets[0].ownerNode.sheet.insertRule(“.purpleText{color:purple}”)代码>无需jQuery即可完成此操作。假设您希望将类purpleText
的所有内容设置为color:purple
。首先,您可以使用document.styleSheets[\u index\u].ownerNode.sheet
获取样式表。接下来,使用insertRule()
方法。参数只是一个包含CSS代码的字符串,如“.purpleText{color:purple}”
中所示。因此,对于第一个样式表,整个命令将是document.styleSheets[0].ownerNode.sheet.insertRule(“.purpleText{color:purple}”)代码>这很简单
var sheet = document.getElementById('customStylesheet').sheet;
sheet.insertRule('.someclass {display: none;}'); // was missing a ' here
这是一个显示它工作的例子。我已经更新了小提琴,显示它也在头部的样式标签上工作。它相当直接
var sheet = document.getElementById('customStylesheet').sheet;
sheet.insertRule('.someclass {display: none;}'); // was missing a ' here
这是一个显示它工作的例子。我已经更新了小提琴,显示它也在处理头部的样式标记。要通过ID获取样式表,请使用以下命令:
document.getElementById('stylesheet').sheet;
要按ID获取样式表,请使用以下命令:
document.getElementById('stylesheet').sheet;
实际上不解决按id获取特定样式表的问题。此外,当document.styleSheets[0]时,不需要使用document.styleSheets[0].ownerNode.sheet
获取样式表
是样式表。实际上并不解决通过id获取特定样式表的问题。而且,当文档时,也不需要使用文档。样式表[0]。所有者节点。样式表是样式表。哇,它在我这边仍然不起作用。。。怎么回事?你的方法应该适用于普通样式标记,对吗?是的,它应该适用于普通样式标记。我更新了小提琴。看起来不管我做什么,它都不起作用。也许是codepen.io的问题?无论如何,您从技术上回答了我的问题,因为它显然在您的JSFIDLE中起作用,所以我将给您一个。很遗憾,我不能这样做(不过,不用担心,我发现我可以使用JQuery的.text来实现同样的结果,所以我很好。无论如何,谢谢!哇,它对我来说仍然不起作用…怎么回事?你的方法应该适用于普通样式标记,对吧?是的,它应该适用于普通样式标记。我更新了小提琴。看起来不管我做什么,它都不会起作用k、 也许是codepen.io的问题?不管怎样,你从技术上回答了我的问题,因为它显然在你的JSFIDLE中工作,所以我给你一个。不幸的是,我不能这么做。:(不过,不用担心,我发现我可以用JQuery的.text来实现同样的结果,所以我很好。无论如何,谢谢!