getElements не поддерживается свойство или метод в IE - PullRequest
0 голосов
/ 02 сентября 2011

У меня проблема с JavaScript, когда страница просматривается только в IE.Я получаю это:

объект не поддерживает это свойство или метод

Строка в моем коде JavaScript, которая генерирует эту ошибку:

var panels = $('collapser').getElements('div.menuTable');

Приведенный выше код пытается получить все элементы div с классом menuTable внутри элемента collapser.

Похоже, что IE не нравится метод getElements!

Вот соответствующая часть страницы в HTML:

<div id="collapser" class="text2"> 
    <h2 class="menu">system features1</h2> 
    <div id="div145fgjd584rgd" class="menuTable">
     ...
    </div>
    <h2 class="menu">system features2</h2> 
    <div id="div2sf54685454rtyt" class="menuTable">
     ...
    </div>
</div>

Ответы [ 2 ]

2 голосов
/ 03 сентября 2011

в IE 6, 7 и 8 (частично), прототип Element.probotten или элементы просто не выигрывают от изменений в своем прототипе.

В качестве обходного пути, добавление MooTools копирует все Element.prototype методы в каждый объект элемента IE, когда к нему получают доступ через селектор ($, $$) или когда он создается (конструктор элемента).

В основном: $("collapser") или document.id("collapser") или new Element('div#collapser') также копируют методы и хранилище элементов настройки и т. Д. - это одноразовая операция.

Это заставляет меня поверить, что ваша $() функция НЕ является mootools.

Например:

this.$ = document.getElementById;
$("collapser").getElements("div"); // exception in IE6/7/8

какая версия mootools это? console.log($); // это mootools один?

Вы также можете сделать:

var panels = document.getElements('#collapser div.menuTable');
0 голосов
/ 21 мая 2013

Я исправил свой код с помощью:

var ie8 = jQuery.browser.msie && jQuery.browser.version == "8.0"; var Panel = (ie8? $ ('collapser'). document: $ ('collapser')). getElements ('div.menuTable');

Ура! * * 1005

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...