我有一个tab bootstarp和我的页面的 Headers ,我想更改页面的 Headers ,点击选项卡是活动的,但我的jquery代码不能正常工作 .
$(document.body).on('click', '.chooseChangePass li a', function(e) {
if ($("#chPass").hasClass("active")) {
$("#TitlePage").html("change Password");
} else {
$("#TitlePage").html("change UserName");
}
if ($("#chUserName").hasClass("active")) {
$("#TitlePage").html("change UserName");
} else {
$("#TitlePage").html("change Password ");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1 id="TitlePage">change password</h1>
<ul class="chooseChangePass">
<li class="active" id="chPass"><a href="#changePassword" data-toggle="tab">change password</a></li>
<li id="chUserName"><a href="#changeUserName" data-toggle="tab">change UserName</a></li>
</ul>
<div class="tab-content">
<div role="tabpanel" class="tab-pane fade" id="changeUserName">
changeUserName
</div>
<div role="tabpanel" class="tab-pane fade in active" id="changePassword">
changePassword
</div>
</div>
1 回答
你缺少代码,切换
active
类 . 添加bootstrap.min.js文件 . 此外,代码中的else
语句是多余的 .更改选项卡后更改页面 Headers 的正确方法是使用Bootstrap navs events . 你需要听
shown.bs.tab
事件 .这是Bootstrap 4.1.3的工作示例:https://codepen.io/anon/pen/OrJOQE?editors=1010
请务必查找您正在使用的Boostrap版本的文档,因为版本3和版本4之间存在重大更改 . 如果您计划在同一页面上有更多选项卡组,请将选项卡选择器更改为命名选项卡 .