我目前正在开发一个聊天系统,它为每个房间和每个私人聊天使用jQuery UI标签。当然,这些选项卡是动态创建的。下面是我正在这样做的非常简化的例子。
var tabs = $("#tabs").tabs();
var ul = tabs.find("#tabs-ul");
$("<li data-user='test'><a href='#test'>test</a></li>").appendTo(ul);
$("<div id='test'></div>").appendTo(tabs);
tabs.tabs("refresh");
对于下一部分,我希望能够检测当前选定的选项卡并获取用户数据属性的值。我需要这个来自动将消息发送到正确的房间或用户。我完成此任务的第一个想法是以下代码:
var user = tabs.tabs('option', 'active').data('user');
显然这不会起作用,因为我只是返回当前所选标签的索引。那么获得我需要的信息的正确方法是什么?我听说过jQuery UI有一个css类,它被添加到当前选中的选项卡中,在这种情况下答案可能是这样的:
var user = $("#tabs").find('li.classNameHere').data('user');
但我无法弄清楚会是哪一堂课,或者它是否仍在运作。或许它只是迟到了,我的搜索技能都失败了,哈哈
答案 0 :(得分:1)
经过一些研究,结果证明css类名是ui-tabs-active
。所以正确的答案是:
var user = $("#tabs").find('li.ui-tabs-active').data('user');