Javascript jQueryUI IE8对象不';不支持此属性或方法
我在使用jquery.ui.richmedia.js时遇到了一个问题 “对象不支持此属性或方法”此错误发生在 “toremoveTabs[i].hide()”仅此代码行。我相信这与hide()方法有关,因为“toremoveTabs[I]”在代码中的其他地方也可以正常工作。代码在Mozilla和Chrome上运行良好Javascript jQueryUI IE8对象不';不支持此属性或方法,javascript,jquery-ui,internet-explorer,internet-explorer-8,Javascript,Jquery Ui,Internet Explorer,Internet Explorer 8,我在使用jquery.ui.richmedia.js时遇到了一个问题 “对象不支持此属性或方法”此错误发生在 “toremoveTabs[i].hide()”仅此代码行。我相信这与hide()方法有关,因为“toremoveTabs[I]”在代码中的其他地方也可以正常工作。代码在Mozilla和Chrome上运行良好 resetTabs:function () { // remove unavailable tabs. var toremoveTab
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();
}
}
有人能推荐一个解决方案吗?我猜
toremoveTabs[I]
不是一个jQuery对象,而是一个常规的DOM节点,因此没有可用的.hide()
函数。将其包装在对jQuery
函数的调用中,以创建jQuery对象,从而使您能够访问该函数:
jQuery(toremoveTabs[i]).hide();
我猜
toremovetab[I]
不是jQuery对象,而是常规DOM节点,因此没有可用的.hide()
函数。将其包装在对jQuery
函数的调用中,以创建jQuery对象,从而使您能够访问该函数:
jQuery(toremoveTabs[i]).hide();
感谢Anthony的回复,但是如果toremoveTabs[i]不是jQuery对象,mozilla和chrome如何读取它?@ShivangSarawagi根据我的经验,这种错误是由于有人对非jQuery对象调用jQuery函数造成的,考虑到与代码相关的有限上下文信息,我怀疑在本例中也是如此。我说不出为什么它只能在IE中工作,而在FF或Chrome中工作(假设它真的工作),但我建议尝试一下,看看它是否能解决问题。感谢Anthony的回复,但是如果toremoveTabs[I]这不是jQuery对象mozilla&chrome是如何读取它的?@ShivangSarawagi根据我的经验,这种错误是由有人对不是jQuery对象的对象调用jQuery函数引起的,鉴于您代码的上下文信息有限,我怀疑在这种情况下也是如此。我不能说为什么它只能在IE中工作,而在FF或Chrome中工作(假设它真的工作),但我建议尝试一下,看看它是否能解决问题。