0

У меня возникла проблема с использованием jquery.ui.richmedia.js.jQueryUI IE8 Объект не поддерживает это свойство или метод

«Объект не поддерживает это свойство или метод» эта ошибка встречающийся с

«toremoveTabs [I] .hide()» только для этой строки кода. Я считаю, что это что-то связано с методом hide(), поскольку «toremoveTabs [i]» отлично работает в других местах кода. Код работает отлично Mozilla & Chrome.

 resetTabs:function() { 
     // remove unavailable tabs. 
     var toremoveTabs = []; 
     var toremoveTabNames = []; 
     this._forEachTab(function (tab, i, self) { 
      if (self._tabs) { 
       tab = $(tab); 
       var tabName = self._getTabName(tab.attr('content_id')).toLowerCase(); 
       if (!(tabName in self._tabs)) { 
        toremoveTabs[i] = tab; 
        toremoveTabNames[i] = tabName; 
       } 
      } 
     }); 
     this._appendTabs = null; 
     this._appendTabs = {}; 
     for (var i in toremoveTabs) { 
      this._appendTabs[i] = [toremoveTabNames[i], toremoveTabs[i]]; 
      toremoveTabs[i].hide(); 
     } 
    } 

Может ли кто-нибудь предложить обходное решение/решение?

ответ

6

Я бы предположил, что toremoveTabs[i] не является объектом jQuery, а является обычным узлом DOM и в результате не имеет функции .hide(). Заверните его в вызове функции jQuery создать объект JQuery, предоставляя доступ к этой функции:

jQuery(toremoveTabs[i]).hide(); 
+0

спасибо за ответ Энтони, но если toremoveTabs [я] не является объектом, как это Mozilla и хром JQuery читать? – underdog

+1

@ShivangSarawagi В моем опыте такая ошибка вызвана тем, что кто-то вызывает функцию jQuery для чего-то, что не является объектом jQuery, и учитывая ограниченную контекстуальную информацию о вашем коде, я подозреваю, что в этом случае верно то же самое. Я не могу сказать, почему это было бы не работать в IE, но работать в FF или Chrome (при условии, что это действительно так), но я бы предложил попробовать это и посмотреть, исправляет ли он проблему. –

Смежные вопросы