我知道我可以获得当前所选标签的索引,但我能否以某种方式获得当前所选标签的ID (如果这是由选项卡触发的,则相当于ui.panel.id
event...but it's not)?我不喜欢使用索引,因为选项卡的顺序可能会改变。我不喜欢使用样式标记,因为这些标记可能会在将来的版本中发生变化。有什么方法可以解决这个问题吗?如果不是,我是否可以使用索引来访问它(甚至可以先访问面板对象)?还有其他想法吗?
发布于 2013-11-13 23:41:55
乔纳森·桑普森的答案已经行不通了。试试..。
$("#tabs .ui-tabs-panel:visible").attr("id");
jsFiddle:http://jsfiddle.net/tbEq6/
发布于 2012-05-20 15:52:04
如果需要从所选选项卡中获取id
(或实际上是href
),则可以使用eq()
来检索jQuery对象。
您可以在这里看到一个示例:http://jsfiddle.net/svierkant/hpU3T/1/
发布于 2012-02-08 04:47:54
正如我在对this question的回答中所说,有几种方法可以实现这一点。
在jQuery documents上,他们建议执行以下操作来查找当前打开的选项卡的索引:
var $tabs = $('#example').tabs();
var selected = $tabs.tabs('option', 'selected'); // => 0
但是,如果您需要对该选项卡执行大量操作,则这是不切实际的。为什么他们还没有提供获取实际元素的更实用的解决方案,我不确定,但是,通过使用jQuery,您可以自己创建一个简单的解决方案。
在下面的代码中,我将向您展示使用当前选项卡做任何您想做的事情是多么容易:
var curTab = $('.ui-tabs-panel:not(.ui-tabs-hide)'),
curTabIndex = curTab.index(), // will get you the index number of where it sits
curTabID = curTab.prop("id"), // will give you the id of the tab open if existant
curTabCls = curTab.attr("class"); // will give you an array of classes on this tab
// etc ....
// now, if you wanted a little more depth, for instance specific tabs area (if you have multiple tabs on your page) you can do simply add to your selector statement
var curTab = $('#myTabs_1 .ui-tabs-panel:not(.ui-tabs-hide)');
// then you can make simple calls to that tab and get whatever data or manipulate it how you please
curTab.css("background-color", "#FFF");
https://stackoverflow.com/questions/1864219
复制相似问题