gpt4 book ai didi

Javascript:我可以动态创建一个 CSSStyleSheet 对象并插入它吗?

转载 作者:行者123 更新时间:2023-12-03 08:23:51 24 4
gpt4 key购买 nike

我知道document.styleSheets它由页面中的所有有效样式表组成。我想知道我是否可以创建一个新的并通过 javascript 将其附加到当前列表。

我试过document.styleSheets[0].constructor , document.styleSheets[0].__proto__.constructor , new CSSStyleSheet , CSSStyleSheet() ,我从 Chrome 中得到的只是 TypeError: Illegal constructor . CSSStyleSheet.constructor()返回一个纯对象,但我期望一个 CSSStyleSheet 对象。

我知道我可以创建一个链接/样式元素并附加它,然后修改它。我想知道的是,我可以直接用javascript创建这样的对象吗?

最佳答案

我知道你说过你不想创建一个元素,但这确实是唯一的方法。一些人在上面详细介绍了这种方法,但我注意到没有人掩盖 HTMLStyleElementHTMLLinkElement两者都有一个整洁的 sheet property直接访问他们的CSSStyleSheet :

var style = document.createElement("style");
document.head.appendChild(style); // must append before you can access sheet property
var sheet = style.sheet;

console.log(sheet instanceof CSSStyleSheet);

比搜索 document.styleSheets 简单得多

关于Javascript:我可以动态创建一个 CSSStyleSheet 对象并插入它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8209086/

24 4 0
文章推荐: javascript - 当 mouseenter 触发时,在 标记内的选定 SVG 中添加属性