2011-04-04 38 views
0

当使用jQuery Ajax将部分视图加载到DOM中时,但只有在使用IE8查看结果时,才会出现奇怪的结果。意外的结果使用jQuery将部分视图加载到IE8 DOM中Ajax

问题中的部分视图(仅用于示例目的)看起来像这样;

<aside>Example test</aside> 

当结果从Ajax调用回来时,看起来看起来与上面完全一样。但是,在IE8中使用开发人员工具查看DOM时,结果如下所示;

<aisde/> 
Example test 
</aside/> 

因此,元素无法识别,文本也不在其中。另外,“搁置”的样式表类没有被应用。就我所见,这只发生在IE8中。

任何人都有任何建议,除了不使用自定义标签?

在此先感谢

+0

什么文档模式是页面运行? – 2011-04-04 15:19:49

回答

0

您需要确保DOM识别HTML5元素。基本上你必须这样做:

document.createElement('aisde'); 

看看this链接。如果不创建元素,旧的IE浏览器将无法看到或设计元素。

围绕这些问题的常见做法是在条件注释块中加载html5 fix javascript文件。该脚本对所有新的html5节点类型执行createElement

<!--[if lte IE 8]> 
<script src="html5.js" type="text/javascript"></script> 
<![endif]--> 
+0

感谢您的快速回复。不幸的是,这是来自部分视图,所以无法执行document.createElement。你知道任何其他强制浏览器正确呈现标记的方式吗?此外,如果我执行$(“#容器”)。html(“

”);它也可以正确呈现CSS样式。 – davidferguson 2011-04-04 15:30:44

+0

@davidferguson - 查看我的更新。这应该进入母版页(布局页面)而不是部分。 – 2011-04-04 15:34:24

+0

再次感谢您的回复。我试图实现这一点,没有运气。我试图将

相关问题