我正在使用 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 的更高版本中得到了修复。所以,选项是:
- 等待下一个原型(prototype)版本(可能带有较新的 sizzlejs)
- 现在回到 Prototype 1.6.x..
关于internet-explorer - 使用 html5shiv 在 IE < 9 中的 HTML5 元素上失败的原型(prototype) DOM 遍历方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6535782/