javascript - HTML5 shiv 和附加到正文的元素的问题

标签 javascript jquery internet-explorer html modernizr

我在让 html 5 处理添加到 IE 正文中的元素时遇到问题。我正在使用 Modernizr 中包含的 HTML 5 shiv但这对于任何其他 HTML 5 库来说都是同样的问题。

它适用于除直接添加到正文的 HTML 5 元素之外的任何元素,这会给出相同的错误消息,就好像我在不使用 shiv 的情况下使用 jQuery 一样(意外调用方法或属性访问) 。这是 IE (7, 8) 中加载了 Modernizr 或 html5.js 的破坏性示例:

$(document).ready(function() 
{
    $('body').append('<nav class="test"></nav>');
    $('.test').html("Testing HTML 5");
});

知道为什么会发生这种情况吗?

最佳答案

Joe Bartlett 在 this 中解决了您的问题文章。他解释了这个问题并展示了一个解决方案(HTML5 innerShiv)。

IE8及以下版本的解决方案是插入他的 script然后将所有 html5 内容包装在 innerShiv(...) 中,然后将其插入 dom

$("body").append(innerShiv("<nav class=\"test\"></nav>"));

关于javascript - HTML5 shiv 和附加到正文的元素的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7796878/

相关文章:

SVG 中的 jQuery .offset() 在 Safari 中不起作用

javascript - 通过脚本函数调用bootstrap模态对话框

jquery - CSS3 向上滑动效果

javascript - onmouseenter 闪烁工具提示

javascript - 调用 javascript 并打开链接

javascript - 如何使用 jquery 从 HTML 表中选择特定行?

html - margin : 0 auto; in IE9 with struts 1

javascript - 将参数传递给模态对话框

c# - 在 IE9 模式下 WebBrowser 控件中不需要的滚动条

javascript - IE 问题和追加到 window.opener