在IE下,通过innerHTML创建DOM,有一些和其它浏览器不同的地方,不是任何HTML都正确解析,有些情况下还报JS错误。
1. 以下代码会无效或报JS错误。
3. 以下代码不会创建script部分的DOM。
解决方法:
HTML前面添加临时代码,DOM创建成功后再删除。
1. 以下代码会无效或报JS错误。
document.body.innerHTML = '<p><hr></p>';
3. 以下代码不会创建script部分的DOM。
document.body.innerHTML = '<script><\/script>';
解决方法:
HTML前面添加临时代码,DOM创建成功后再删除。
document.body.innerHTML = '<img id="__temp_tag__" width="0" height="0" />' + 'HTML代码';
var temp = document.getElementById('__temp_tag__');
temp.parentNode.removeChild(temp);