Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将类添加到特定样式表?_Javascript_Jquery_Css - Fatal编程技术网

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

Javascript 如何将类添加到特定样式表?,javascript,jquery,css,Javascript,Jquery,Css,我想使用在特定样式表中插入一个新类。例如,该样式表具有id“customStylesheet” 表示“还可以从其所有者对象(节点或CSSImportRule,如果有的话)访问特定的样式表。”。但是,我不知道如何访问特定的样式表。这可以在没有jQuery的情况下完成。假设您希望将类purpleText的所有内容设置为color:purple。首先,您可以使用document.styleSheets[\u index\u].ownerNode.sheet获取样式表。接下来,使用insertRule(

我想使用在特定样式表中插入一个新类。例如,该样式表具有id“customStylesheet”


表示“还可以从其所有者对象(节点或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来实现同样的结果,所以我很好。无论如何,谢谢!