小编典典

如何“启用” IE 8中通过AJAX调用插入的HTML5元素?

ajax

请参阅问题底部的解决方案。

IE
8(及更低版本)不适用于未知元素(即HTML5元素),无法设置其样式或访问其大部分道具。例如,他们有很多解决方法:http : //remysharp.com/2009/01/07/html5-enabling-
script/

问题是,这对于页面加载时可用的静态HTML效果很好,但是当一个人随后创建HTML5元素时(例如,包含它们的AJAX调用,或者只是使用JS创建),它将按HTMLUnknownElement原样标记这些新添加的元素到HTMLGenericElement(在IE调试器中)。

有谁知道可以解决的方法,以便IE 8可以识别/启用新添加的元素?

这是一个测试页:

<html><head><title>TIME TEST</title>
    <!--[if IE]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
</head>

<body>
    <time>some time</time>
    <hr>
    <script type="text/javascript">
        $("time").text("WORKS GREAT");
        $("body").append("<time>NEW ELEMENT</time>"); //simulates AJAX callback insertion
        $("time").text("UPDATE");
    </script>
</body>
</html>

在IE中,您将看到:UPDATE和NEW ELEMENT。在任何其他现代浏览器中,您将看到UPDATE和UPDATE


阅读 236

收藏
2020-07-26

共1个答案

小编典典

对于IE7中的所有html5问题,我都使用html5shiv,为了适应ajax调用中返回的html5元素,我使用innershiv

到目前为止,这两个小插件对我来说就像一个魅力。

-Praveen Gunasekara

2020-07-26