问题是这一行代码无法在IE7 / IE8中生成所需的HTML对象集:
$('#content').append('<section id="about"><h1>about Us</h1></section>');如果您在IE
DOM检查器中查看,则看不到所需的标签正确嵌套,从而使DOM混乱,因此样式规则无法正常工作。问题是jQuery如何将事物插入DOM。我认为这是IE的jQuery交互问题,而不是其他任何问题。
如果不详细浏览IE上的代码,就不能说它实际上是jQuery问题还是IE问题,还是这些奇怪的组合错误之一。显然,IE曾因其先前的过犯而获得应有的谴责权,但最好使用一些更简单的代码避免该错误。
稍微分解一下代码,此代码在IE7中对我有用:在这里,我们创建一个标签,向其中添加一些innerHTML,然后使用append()插入该根标签,而不是附加HTML。
$(document).ready(function() { var section = $("<section>"); section.attr("id", "about"); section.html('<h1>about Us</h1>'); $('#content').append(section);});您可以在这里看到修改后的代码,其工作原理是:http :
//jsfiddle.net/jfriend00/vEST8/
我不知道为什么IE在直接通过jQuery附加整个HTML字符串时会遇到问题,但是我之前已经看到过这个问题。



