HP.*_*HP. 11 html javascript css dom google-chrome
我有以下代码将样式插入DOM(有一个用于将样式注入DOM的用例,所以请不要问为什么或者说在.css文件中加载css).
<script type="text/javascript">
window.onload = function()
{
var bmstyle = document.createElement('style');
bmstyle.setAttribute('type', 'text/css');
var styleStr = "#test-div {background:#FFF;border:2px solid #315300;";
bmstyle.innerHTML = styleStr;
document.body.appendChild(bmstyle);
}
</script>
Run Code Online (Sandbox Code Playgroud)
如果我在Firefox中运行,它运行正常.但是我在Google Chrome中遇到了这个错误:
Line bmstyle.innerHTML = styleStr;
Uncaught Error: NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7
Run Code Online (Sandbox Code Playgroud)
有人有修复吗?谢谢
我认为这是因为您正在使用innerHTML其他任何地方使用XML语法.尝试:
bmstyle.nodeValue = styleStr;
Run Code Online (Sandbox Code Playgroud)
建议2:
这也可能是因为您正在尝试设置尚未包含在HTML DOM中的元素的innerHTML.如果是这样的话,我的第一个建议应该仍然存在,或者你可以选择:
document.body.appendChild(bmstyle);
bmstyle.innerHTML = styleStr;
Run Code Online (Sandbox Code Playgroud)
我不确定你是否需要一条线来回收元素,或者bmstyle是否还会指向它.
| 归档时间: |
|
| 查看次数: |
18719 次 |
| 最近记录: |