我几乎从他们的网站上复制了代码。选项卡完美启动,当我单击选项卡时,将激活新面板。但是,“活动”类不会应用于激活的选项卡。 这是代码:
<ul class="nav nav-tabs">
<li data-toggle="tab" data-target="#a" class="active"><a href="#">a</a></li>
<li data-toggle="tab" data-target="#b" ><a href="#">b</a></li>
<li data-toggle="tab" data-target="#c" ><a href="#">c</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane fade in active" id="a"> in tab a </div>
<div class="tab-pane fade" id="b">in tab b</div>
<div class="tab-pane fade" id="c">in tab c</div>
</div>
答案 0 :(得分:39)
根据Docs,您需要在标题中的每个链接上放置id
,并且该链接需要位于li
内,该data-target
应该没有其他样式,即不会我需要li
中的所有data-toggle
内容。您的列表没有id
或<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<ul class="nav nav-tabs">
<li><a href="#a" data-toggle="tab">a</a></li>
<li><a href="#b" data-toggle="tab">b</a></li>
<li><a href="#c" data-toggle="tab">c</a></li>
<li><a href="#d" data-toggle="tab">d</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="a">AAA</div>
<div class="tab-pane" id="b">BBB</div>
<div class="tab-pane" id="c">CCC</div>
<div class="tab-pane" id="d">DDD</div>
</div>
。
您的HTML就像这样
{{1}}
根据文档
,你不应该需要任何Javascript答案 1 :(得分:18)
确保在引导程序js文件之前插入了jquery:
<script src="jquery.min.js" type="text/javascript"></script>
<link href="bootstrap.min.css" rel="stylesheet" type="text/css"/>
<script src="bootstrap.min.js" type="text/javascript"></script>
答案 2 :(得分:5)
就我而言,我有两个具有相同id
的元素。我很长时间没有注意到问题的原因,因为第一个这样的元素被隐藏了。
答案 3 :(得分:4)
我的问题是第一个标签中的额外 </div>
标记。
答案 4 :(得分:3)
我的问题是我狡猾地总结了自助文件是最新的文件 如果您使用 Bootstrap 4 ,则必要的工作标签markub为:http://v4-alpha.getbootstrap.com/components/navs/#javascript-behavior
<ul>
<li class="nav-item"><a class="active" href="#a" data-toggle="tab">a</a></li>
<li class="nav-item"><a href="#b" data-toggle="tab">b</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="a">a</div>
<div class="tab-pane" id="b">b</div>
</div>
答案 5 :(得分:2)
这将有效
$(".nav-tabs a").click(function(){
$(this).tab('show');
});
答案 6 :(得分:2)
由于一些奇怪的原因,在我使用href之前,bootstrap标签对我不起作用: -
<li class="nav-item"><a class="nav-link" href="#a" data-toggle="tab">First</a></li>
但是当我用数据目标替换href时它就开始工作了: -
<li class="nav-item"><a class="nav-link" data-target="#a" data-toggle="tab">First</a></li>
答案 7 :(得分:1)
当我删除平滑滚动脚本(https://github.com/cferdinandi/smooth-scroll)时,它起作用了。
答案 8 :(得分:1)
当我将以下几行从头部移动到主体部分的末尾时,它起作用了。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
答案 9 :(得分:0)
要检查此问题还有一件事是html标记属性 id 。您应该检查该页面中的任何其他html标记与导航标签ID具有相同的ID。
答案 10 :(得分:0)
就我而言(动态生成部分):问题是href =“#...”中缺少“#”。
答案 11 :(得分:0)
对于使用bootstrap3解决此问题的任何人,请使用下面的类列表。如果您已复制从DOC粘贴的内容,则肯定无法正常工作。由于出现了新版本的.show。
<div class="tab-pane fade in active" >
<div class="tab-pane fade in" >
答案 12 :(得分:0)
使用此代码作为代码
<ul class="nav nav-tabs" style="margin-top:10em;">
<li class="active" data-toggle="tab"><a href="#">Assign</a></li>
<li data-toggle="tab"><a href="#">Two</a></li>
<li data-toggle="tab"><a href="#">Three</a></li>
答案 13 :(得分:0)
在我的情况下,我们将div ID设置为数字并设置了href =“#123”,但这没有用..为ID添加前缀有所帮助。
示例: 这不起作用-
<li> <a data-toggle="tab" href="#@i"> <li/>
...
<div class="tab-pane" id="#@i">
这有效:
<li><a data-toggle="tab" href="#prefix@i"><li/>
...
<div class="tab-pane" id="#prefix@i">