日期:2014-05-17 浏览次数:20619 次
如下代码
?
<p id="tit"></p> <script> var p = document.getElementById('tit'); var div = document.createElement('div'); p.appendChild(div); try { div.innerHTML = "76" } catch(e) { //IE<9 ERROR alert(e) } </script>
?
?
执行顺序如下
1,获取页面上段落元素P
2,创建一个块级元素div
3,将div添加到段落P上(注:规范指出P不能包含块级元素)
4,给div的innerHTML赋值
?
结果:
IE6/7/8中抛异常。其它浏览器则不。
?
和第一篇一样,如果创建的是行内元素,IE6/7/8中则不报错。或者将2,3的顺序对调IE6/7/8也不报错。
?
这个问题是TX的蔡 发现的。
?
相关:
各浏览器中innerHTML实现差异(1)
IE6/7/8/9中使用innerHTML清空元素,其子元素也被清空