0

我正在尝试将我的第二个 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

4 回答 4

3

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

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

这将设置第二个选项卡(基于 0 索引)。

于 2013-02-06T14:31:15.867 回答
0

尝试这个:

$(document).ready(function(){
    $('#newtabs div').hide();
    $('#newtabs div').eq(1).show();
    $('#newtabs ul li').eq(1).addClass('active');
    ...
});
于 2013-02-06T14:30:28.813 回答
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 子元素。

于 2013-02-06T14:31:18.953 回答
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)第二个对象(索引从 0 开始)

于 2013-02-06T14:31:38.087 回答