gpt4 book ai didi

javascript - 新的 CSSStyleDeclaration

转载 作者:可可西里 更新时间:2023-11-01 12:56:11 29 4
gpt4 key购买 nike

我正在尝试使用浏览器的内置类型 CSSStyleDeclaration 以编程方式传递和修改样式(由于 .cssText 属性,这很方便)。

但是,new CSSStyleDeclaration() 会抛出一个Illegal Constructor 错误。所以我尝试了 Object.create(CSSStyleDeclaration.prototype),这似乎有效,但生成的对象行为不正常。例如,在以这种方式创建的 CSSStyleDeclaration 上调用 .cssText 会引发 Illegal invocation

是否有一种“正确”的方式来构建CSSStyleDeclaration?或者是否有更好的方法使用内置类型以编程方式创建样式?

(我不想进行字符串操作,我宁愿避免创建自己的类型或添加第三方依赖项。)

最佳答案

您可以创建一个临时 DOM 元素并使用其 style 属性:

const rules = document.createElement('span').style;
rules.backgroundColor = 'red';
rules.cursor = 'pointer';
rules.color = 'white';

document.getElementById('style_string').innerHTML = rules.cssText;
document.getElementById('obj').style = rules.cssText;
<pre id="style_string"></pre>
<div id="obj">TEST</div>

关于javascript - 新的 CSSStyleDeclaration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51447958/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com