获取正在激活的选项卡(div)的ID

Alv*_*roV 42 jquery jquery-ui jquery-plugins jquery-tabs

我正在使用jquery 1.9和jquery UI 1.10

我希望能够在单击选项卡时获取选项卡ID.例如,如果我单击名为"Second"的选项卡,我想获得"tabs-2"响应.

到目前为止我已完成以下代码:

<script type="text/javascript">
    $(function () {
        $("#tabs").tabs({
            beforeActivate: function (event, ui) {
                alert(/* the id of the tab (div) being activated */);
            }
        });
    });
</script>

<div id="tabs">
    <ul>
       <li><a href="#tabs-1">First</a></li>
       <li><a href="#tabs-2">Second</a></li>
    </ul>
    <div id="tabs-1">
        <p>abcde</p>
    </div>
    <div id="tabs-2">
        <p>fghi</p>
    </div>
</div> 
Run Code Online (Sandbox Code Playgroud)

the*_*ude 55

测试并使用JQueryUI 1.10,如何获取选中的选项卡的ID:

$("#tabs").tabs({
  beforeActivate: function (event, ui) {
    alert(ui.newPanel.attr('id'));
  }
});
Run Code Online (Sandbox Code Playgroud)

  • `alert(ui.newTab.context.innerText)`显示单击文本的选项卡 (3认同)

Muh*_*ani 22

var $tabs = $("#tabs").tabs({
    select: function( evt, ui ) {
        $("#current").text( $(ui.tab).attr('href'));
    }
})
Run Code Online (Sandbox Code Playgroud)

更新 - jquery UI 1.10的另一个解决方案

    $(function () { $('#tabs').tabs({ 
             activate: function (event, ui) {
             var active = $("#tabs").tabs("option", "active");
             alert($("#tabs ul>li a").eq(active).attr('href')); 
     } 
}); 
Run Code Online (Sandbox Code Playgroud)

更新了jsFiddle演示