internet-explorer - 使用 html5shiv 在 IE < 9 中的 HTML5 元素上失败的原型(prototype) DOM 遍历方法

标签 internet-explorer html dom prototypejs

我正在使用 html5shiv 1.6.2 (最新)和 Prototype v1.7(最新)。

所以,html5shiv 使我的 <article> , <section>等元素在 IE < 9 中工作得很好。它们出现了,我可以设置它们的样式等等。一切都很好。

但是,如果我尝试使用 Prototype 的 DOM 遍历方法(例如 down()up() )获取任何此类 HTML5 元素,那么它们总是返回 undefined在 IE8/IE7 中(谁在乎 IE6?)。例如:

<article id="foo">
    <div></div>
    <section></section>
    <ul id="abc123"></ul>
</article>

..然后..

var bar = $('foo').down('div'); // works
var baz = $('foo').down('section'); // undefined

..和..

var theArticle = $('abc123').up('article'); // undefined

有人遇到过这样的问题吗?解决方案/解决方法?

最佳答案

这似乎是由于 sizzlejs 选择器引擎与 Prototype 1.7 中的一个错误有关,但它在 sizzlejs 的更高版本中得到了修复。所以,选项是:

  1. 等待下一个原型(prototype)版本(可能带有较新的 sizzlejs)
  2. 现在回到 Prototype 1.6.x..

关于internet-explorer - 使用 html5shiv 在 IE < 9 中的 HTML5 元素上失败的原型(prototype) DOM 遍历方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6535782/

相关文章:

javascript - 在 IE9-10 中使用 sort() 问题对 DOM 元素进行排序

javascript - 如何根据包含滚动的调整大小更改 div 高度

html - 在 Bootstrap 中更改表单字段不透明度

javascript - Knockout.js {{each}} 未在 javascript 模板中列出项目

javascript - 无法使用 jquery 更改属性数据-***

javascript - 如何调试导致网页加载时间过长的脚本?

javascript - 无法在 Internet Explorer 9 的文本框中键入

javascript - 将所有 IE6 更新到 IE8?

html - 如何将 div 内的 span 推到右侧并使此文本响应式

html - 不先点击就无法形成元素