javascript - 如何通过 AJAX 调用插入 IE 8 中的 "enable"HTML5 元素?

标签 javascript jquery ajax internet-explorer html

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

IE 8(及更低版本)不适用于未知元素(即 HTML5 元素),无法设置它们的样式或访问它们的大部分 Prop 。例如,他们有许多解决方法: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

最佳答案

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

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

-- 普拉文·古纳塞卡拉

关于javascript - 如何通过 AJAX 调用插入 IE 8 中的 "enable"HTML5 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2363040/

相关文章:

javascript - 仅更改主 <li> 标签的类

PHP 增加特定的行值

javascript - jquery.form.js - 如何在提交时获取当前表单?

asp.net - 最简单的 ASP .NET AJAX 代理页面

javascript - 在浏览器中对 HTML5 视频标签进行 RTSP 转码

javascript - 数据表: How to show the show Entries dropdown beside the Showing 0 to 0 of 0 entries in the table structure

jquery - 同时使用两个 jquery 函数

jquery - 滑动 Bootstrap 元素内联

javascript - 删除#!来自 ASP.Net Web API 中的 angular.js URL

javascript - 使用 npm 脚本编译 sass - node-sass 返回 EISDIR : illegal operation on a directory