我正在使用jquery ui标签(来自ui版本1.9.2),标签是通过ajax远程加载的。
在API文档(http://api.jqueryui.com/1.9/tabs/#event-load)中,似乎建议我可以通过这种方式获取加载标签的索引:
$(".tabs").tabs({
load: function(event,ui) { console.log(ui.tab.index()); }
});
然而,这不起作用。我收到错误,因为ui.tab
是undefined
当我在console.log ui.tab
时,我得到刚刚加载的标签的完整网址,这让我相信ui.tab
不是我期望的那种对象。我也尝试使用ui.panel.index()
,但我得到了相同的undefined
错误。
我可以使用activated
事件和activate
获取ui.newTab.index()
标签的索引,但这不是我正在寻找的内容。
我错过了什么?
答案 0 :(得分:4)
似乎jQuery UI文档尚未更新或出错(和/或预期的实现不正确)。 ui.tab
正在返回DOM节点,而不是文档建议的jQuery对象。
这将获得标签的索引:
$("#tabs").tabs({
load:function(event,ui) {
var index = $(ui.tab).parent().index();
console.log(index);
}
});
如果您计划将该函数中的ui.tab
节点用于任何其他目的,最好先将其缓存。