我有以下代码:
const head = document.getElementsByTagName('head')[0];
const style = document.createElement('style');
const rules = {
'.test': 'width: 150px; height: 100px; border: 1px solid red;',
};
let sheet;
head.appendChild(style);
sheet = style.sheet;
for (const rule in rules) {
sheet.insertRule(`${rule} {${rules[rule]}}`, 0);
}
而且效果很好。但是,当我在将 HTMLStyleElement 的工作表提取到变量后设置 HTMLStyleElement 的“type”属性时,工作表 css 规则将变为空,并且样式将不会应用于页面:
head.appendChild(style);
sheet = style.sheet;
style.type = 'text/css'; // it won't work now!
为什么会发生这种情况?工作表引用不应该分配给变量吗?
JsBin 链接:https://jsbin.com/gehahiceza/edit?html, js,console
月关宝盒
30秒到达战场
相关分类