各浏览器中innerHTML实现差异(2)
如下代码
<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的蔡发现的。
相关: