选定的选项卡 ID?

发布于 2024-10-22 00:38:31 字数 212 浏览 4 评论 0原文

我有以下脚本,它获取所选选项卡的索引:

http://jsfiddle.net/oshirowanen/eWncA/

如果 li 有 id,是否可以获取 id。如果从其他地方获取它更容易,那么也可以,即相关的 div 标签或其他地方。

I have the following script which gets the index of the selected tab:

http://jsfiddle.net/oshirowanen/eWncA/

Is it possible to get the id instead, if the li's had id's. If it is easier to get it from elsewhere, then that would also be fine, i.e. the related div tags, or somewhere else.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

睡美人的小仙女 2024-10-29 00:38:31

jQuery UI 只是向选定的 li 添加一个类。您可以像这样拉出带有所选类的 li:

   var id = $("li.tab.ui-tabs-selected").attr("id");

如果您想获取未选择的选项卡之一,您可以执行如下操作:

var id = $("li.tab:not(.ui-tabs-selected)").first().attr("id");

工作示例:

http://jsfiddle.net/UBs9m/2/

jQuery UI just adds a class to the selected li. You could just pull the li with the selected class out like this:

   var id = $("li.tab.ui-tabs-selected").attr("id");

If you wanted to get one of the unselected tabs you could do something like this:

var id = $("li.tab:not(.ui-tabs-selected)").first().attr("id");

Working example:

http://jsfiddle.net/UBs9m/2/

孤云独去闲 2024-10-29 00:38:31
var id = $("li.tab:eq("+selected+")").attr('id');
var id = $("li.tab:eq("+selected+")").attr('id');
稚然 2024-10-29 00:38:31

如果您能够简单地使用选项卡控件的 select 事件处理程序,则效果很好:

$('#tabs').tabs({
    select: function( evt, ui ) {
        console.log( $(ui.panel).attr( 'id' ) );
    }
});

另外,这里是 不同 ui 对象属性的便捷参考

If you're able to simply use the Tabs control's select event handler, this works fine:

$('#tabs').tabs({
    select: function( evt, ui ) {
        console.log( $(ui.panel).attr( 'id' ) );
    }
});

Also, here's a handy reference for the different ui object properties.

拒绝两难 2024-10-29 00:38:31

如果您使用jquery选项卡(新版本):

<div id="tabs">
        <ul>
            <li data-value="tab1"><a href="#tab1">Name of tab1</a></li>
            <li data-value="tab2"><a href="#tab2">Name of tab2</a></li>
        </ul>
        <div id="tab1">
        </div>
        <div id="tab2">
        </div>
 </div>       

 //get id in init
 $(function () {
    $("#tabs").tabs({
        activate: function(event ,ui) {
           var id = $(ui.newPanel).prop('id');
        }
      }
    );
 });
 var id = $("#tabs li.ui-state-active").attr('data-value'); //get id in other function

If you are using jquery tabs (new version):

<div id="tabs">
        <ul>
            <li data-value="tab1"><a href="#tab1">Name of tab1</a></li>
            <li data-value="tab2"><a href="#tab2">Name of tab2</a></li>
        </ul>
        <div id="tab1">
        </div>
        <div id="tab2">
        </div>
 </div>       

 //get id in init
 $(function () {
    $("#tabs").tabs({
        activate: function(event ,ui) {
           var id = $(ui.newPanel).prop('id');
        }
      }
    );
 });
 var id = $("#tabs li.ui-state-active").attr('data-value'); //get id in other function
不知在何时 2024-10-29 00:38:31

如果您像我一样通过 Google 来到这里,并且使用 jQuery UI 1.9.X,请使用 activatebeforeActivate 事件来获取 id:

$('selector').tabs({
  activate: function(e, ui) {
    var id = $(ui.newPanel).prop('id');
  }
});

文档

If you're coming here via Google like myself, and are using jQuery UI 1.9.X, use the activate or beforeActivate events to get the id:

$('selector').tabs({
  activate: function(e, ui) {
    var id = $(ui.newPanel).prop('id');
  }
});

Documentation

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文