【发布时间】:2018-03-19 20:45:19
【问题描述】:
HTML 和 JS 与 Bootstrap 的结合非常新。 我使用 Cyborg 主题,并在我的 HTML 文件中使用导航选项卡。 我遇到的问题是,每当我单击一个选项卡时,我都希望该选项卡成为“活动”选项卡。但这不起作用,相反,我在 HMTL 中设置为活动的唯一选项卡是保持活动状态的选项卡。
选项卡会发生变化,因此我会显示正确的信息。只是这个小细节让我非常沮丧。有什么想法吗?
我的 HTML:
$(".nav li").on("click", function() {
$("nav li").removeClass("active");
$(this).addClass("active");
});
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous">
</script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#about">About</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#toptracks">Top tracks</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#something">Something</a>
</li>
</ul>
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade show active" id="about">
<p>${artist.bio.content}</p>
</div>
<div class="tab-pane fade show active" id="toptracks">
<ul>
${this.tracks.map(track => `<li>${track['name']}</li>`).join('')}
</ul>
</div>
<div class="tab-pane fade show active" id="something">
<p>Something in here ...</p>
</div>
【问题讨论】:
-
您将
a标记设置为活动(手动),然后尝试从li标记中删除/设置。你也错过了.nav的句号 -
您不需要为标签编写任何 JavaScript 代码...bootstrap 会处理它...
-
为什么您为所有内容
div添加了active类?只需从其他两个 div 中删除active即可。这将解决问题。 -
当我这样做时,选项卡内的信息会消失?
标签: javascript html css twitter-bootstrap bootstrap-modal