1

我正在尝试打开 DOM 上的 jQuery Tabs 中的最后一个选项卡,但我在网上找到的解决方案似乎不起作用。根据 jQuery UI 演示站点中的示例,我正在使用垂直选项卡。

JS-

$( "#personnelStats_tabs" ).tabs().addClass( "ui-tabs-vertical ui-helper-clearfix" );
    $( "#personnelStats_tabs li" ).removeClass( "ui-corner-top" ).addClass( "ui-corner-left" );

CSS -

.ui-tabs-vertical { width: 55em; }
.ui-tabs-vertical .ui-tabs-nav { padding: .2em .1em .2em .2em; float: left; width: 12em; }
.ui-tabs-vertical .ui-tabs-nav li { clear: left; width: 100%; border-bottom-width: 1px !important; border-right-width: 0 !important; margin: 0 -1px .2em 0; }
.ui-tabs-vertical .ui-tabs-nav li a { display:block; }
.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active { padding-bottom: 0; padding-right: .1em; border-right-width: 1px; border-right-width: 1px; }
.ui-tabs-vertical .ui-tabs-panel { padding: 1em; float: right; width: 40em; }
4

3 回答 3

3

获取最后一个元素.last()

$(".ui-tabs-nav li").last()
于 2012-11-11T15:41:57.917 回答
1

谢谢大家的帮助。不幸的是,我的问题不够具体(写得太匆忙),这里没有给出解决方案。但是,我不知何故错过了 2009 年类似帖子的链接,并且使用它.last()帮助我找到了解决方案:

$(document).ready(function() {
    //Initiate jQuery Tabs
    var $tabs = $( "#personnelStats_tabs" ).tabs();
    //Get the index of the last tab
    var last = $(".ui-tabs-nav li").last().index();
    //Add hack for vertical tabs
    $tabs.addClass( "ui-tabs-vertical ui-helper-clearfix" );
    $( "#personnelStats_tabs li" ).removeClass( "ui-corner-top" ).addClass( "ui-corner-left" );
    //Select the last tab
    $tabs.tabs("select", last);
});

谢谢各位!+1 给你们所有人

于 2012-11-12T23:50:42.400 回答
1

我有一个关于 jQueryUI 选项卡的博客/教程可能会有所帮助。

http://spyk3lc.blogspot.com/2012/08/jqueryjqueryui-help-tabs-get-currently.html

另外,尝试:

// for last tab
$(".ui-tabs-nav li:last")
// with your code as shown
$("#personnelStats_tabs .ui-tabs-nav li:last")

// for last panel
$(".ui-tabs-panel:last")
// with your code as shown
$("#personnelStats_tabs .ui-tabs-panel:last")

哎呀,刚刚意识到新的jquery有变化,我必须更新我的博客!为什么他们更改班级名称!

有关更多信息,请参阅jQuery :last 选择器

如果需要,您还可以使用 jQuery 的.last()函数而不是 :last 选择器。

于 2012-11-11T15:10:20.533 回答