如何复制:
-
创建一个 html5 页面。
-
确保添加了来自 remysharp.com/2009/01/07/html5-enabling-script/ 的脚本,以便 IE 能够注意到这些标签。
-
创建硬编码<section id='anything'></section>
tag.
-
使用 jQuery 1.3.2,附加另一个部分标签:$('#anything').append('<section id="whatever"></section>');
到目前为止,一切都适用于所有浏览器。
-
重复上一步。$('#whatever').append('<section id="fail"></section>');
这就是IE6/7失败的地方。 Firefox/Safari 将继续工作。
Error
Thoughts
该错误存在于 IE 的 innerHTML 实现中 - 由于某种原因,它不喜欢通过 innerHTML 插入“未知”元素 - 而 DOM 脚本则没问题。
jQuery 使用创建一个控股 div,然后通过 innerHTML 放入您想要附加的标记。 IE 现在将未知元素视为两个新的损坏元素,即<article>content</article>
被视为ARTICLE
, #text
, /ARTICLE
,由innerHTML borking引起。
下面是一个例子,在 IE 中检查一下,你会发现 innerHTML 插入方法错误地报告了在 div 中插入了 3 个节点:http://jsbin.com/olizu http://jsbin.com/olizu
没有IE浏览器的截图:http://leftlogic.litmusapp.com/pub/2c3ea3e http://leftlogic.litmusapp.com/pub/2c3ea3e
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)