我正在尝试使用浏览器的内置类型CSSStyleDeclaration
以编程方式传递和修改样式(这很方便,因为.cssText
财产)。
然而,new CSSStyleDeclaration()
抛出一个Illegal Constructor
错误。所以我尝试了Object.create(CSSStyleDeclaration.prototype)
,这似乎有效,但生成的对象行为不正常。例如,调用.cssText
on a CSSStyleDeclaration
以这种方式创建会抛出一个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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)