原型DOM遍历方法在IE中的HTML5元素上失败< 9使用html5shiv

时间:2011-06-30 13:48:39

标签: internet-explorer html5 dom prototypejs

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

因此,html5shiv使我的<article><section>等元素在IE中运行良好&lt;他们出现了,我可以为他们设计等等。一切都很好。

但是,如果我尝试使用Prototype的DOM遍历方法(例如down()up())来抓取任何此类HTML5元素,那么它们总是在IE8 / IE7中返回undefined(谁关心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

有人经历过这样的困境吗?解决方案/解决方法?

1 个答案:

答案 0 :(得分:1)

这似乎是sizzlejs选择器引擎中与Prototype 1.7结合的错误,但它已在sizzlejs的更高版本中修复。所以,选项是:

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