Методы обхода DOM-прототипа не работают на элементах HTML5 в IE <9 с использованием html5shiv - PullRequest
2 голосов
/ 30 июня 2011

Я использую html5shiv 1.6.2 (последняя версия) и Prototype v1.7 (последняя версия).

Итак, html5shiv заставляет мои элементы <article>, <section> и т. Д. Работать хорошо в IE <9. Они появляются, я могу их стилизовать и т. Д. Все хорошо. </p>

Однако, если я попытаюсь получить любые такие элементы HTML5, используя методы прохождения DOM-прототипа (например, down(), up()), то они всегда возвращают 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

Кто-нибудь испытывал такие беды? Решения / обходные пути?

1 Ответ

1 голос
/ 01 июля 2011

Это похоже на ошибку в движке селектора sizzlejs в сочетании с Prototype 1.7, но это исправлено в более поздних версиях sizzlejs. Итак, варианты:

  1. ждать следующей версии прототипа (возможно, с более новыми sizzlejs)
  2. вернемся к Prototype 1.6.x сейчас ..
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...