Jquery将第二个选项卡显示为默认活动状态

时间:2013-02-06 14:27:33

标签: jquery tabs

我正在尝试将第二个li标记显示为默认活动标签。 我的jquery代码是

<script type="text/javascript">    
    $(document).ready(function(){
        $('#newtabs div').hide();
        $('#newtabs div:first').show();
        $('#newtabs ul li:first').addClass('active');
        $('#newtabs ul li a').click(function(){ 
            $('#newtabs ul li').removeClass('active');
            $(this).parent().addClass('active'); 
            var currentTab = $(this).attr('href'); 
            $('#newtabs div').hide();
            $(currentTab).show();
            return false;
        });
    });
</script>

有任何建议吗?

4 个答案:

答案 0 :(得分:3)

根据jQuery文档(http://api.jqueryui.com/tabs/),您可以在设置选项时使用active属性。例如,你可以做

$(".selector").tabs({ active: 1 });

这将设置第二个标签(基于0索引)。

答案 1 :(得分:0)

试试这个:

$(document).ready(function(){
    $('#newtabs div').hide();
    $('#newtabs div').eq(1).show();
    $('#newtabs ul li').eq(1).addClass('active');
    ...
});

答案 2 :(得分:0)

而不是

$('#newtabs ul li:first').addClass('active');

尝试

$('#newtabs ul li').eq(1).addClass('active');

这提供了#newtabs只包含一个ul。如果你想要定位的#newtabs中有多个ul,则需要使用

$('#newtabs ul li:nth-child(2)').addClass('active');

因为它选择“所有li元素是其父元素的第二个子元素”(nth-child()使用基于1的索引),而另一种方法将仅选择第一个ul的第二个li子元素。

答案 3 :(得分:0)

如果我理解你的问题,你应该改变

$('#newtabs div:first').show();
$('#newtabs ul li:first').addClass('active');

$('#newtabs div:eq(1)').show();
$('#newtabs ul li:eq(1)').addClass('active');

eq(1)过滤第2个对象(索引从0开始)