请参阅问题底部的解决方案。
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/