twitter bootstrap 3在js中设置活动选项卡不起作用

时间:2014-01-28 22:03:32

标签: javascript jquery twitter-bootstrap

是的,所以这已被问了大约1000次,但我尝试了答案,似乎没有一个对我有用。

以下是我的标签:

<ul class="nav nav-tabs">
    <li><a href="#profile" data-toggle="tab">Profile</a></li>
    <li><a href="#account" data-toggle="tab">Account</a></li>
    <li><a href="#security" data-toggle="tab">Security</a></li>
    <li><a href="#recruiting" data-toggle="tab">Recruiting</a></li>
</ul>

注意,默认情况下,没有一个设置为活动状态。选项卡窗格:

<div class="tab-content">
    <div class="tab-pane fade" id="account">
        Account
    </div>
    <div class="tab-pane fade" id="security">
        Security
    </div>
    ...more...
</div>

在我的js中,我按照bootstrap文档执行此操作:

$(window).load(function () {
        $('#tab a:first').tab('show');
    });

没有任何表现。我想要做的是让它默认打开第一个标签,但根据我传入的一些数据,我想在需要时调用它:

$('#tab a:[href="#security"]').tab('show');

2 个答案:

答案 0 :(得分:35)

第一个问题在这里:

$('#tab a:first').tab('show')

#tab引用了id="tab",但您没有#tab。将.nav-tabs替换为$('.nav-tabs a:first').tab('show') 或将ID添加到您的ul:

:

您的第二个问题是忘记删除a旁边的$('.nav-tabs a:[href="#security"]').tab('show')

$('.nav-tabs a[href="#security"]').tab('show')

应该是:

{{1}}

答案 1 :(得分:8)

您的选择器中有:,将其更改为

 $('#tab a[href="#security"]').tab('show');

而不是

 $('#tab a:[href="#security"]').tab('show');