BootStrap 页签切换失效的解决方法


Posted in Javascript onAugust 17, 2017

概述

bootstrap开发标签页时,标签页显示正常,但点击时候对应内容区域没有变化。

具体症状与解决方案

1.标签页UI出现,但点击无反应,标签页UI并未随点击进行切换

先检查bootstrap.css,jQuery.js和bootstrap.js是否有正确引入,并保证引入顺序jQuery在前,bootstrap.js在后。再检查代码中是否有其他报错中止了JS。

2.标签页可以随点击进行切换,但点击后前面几条内容可以切换,但后面几条内容切换失败

产生原因:

内容区域的html结构出现错误,在单个tab中多写了一个div的结束标签,使得tab-content这一div过早的关闭,剩下的tab-pan则与原来的tab-content变成了平级的关系而不是父子关系。仔细观察,点击之后原来应该出现在tab-content区域的内容会出现在页面的下方是主要的特征。

<!DOCTYPE html>
<html>
<head lang="en">
 <meta charset="UTF-8">
 <title>bootstrap页签切换失效</title>
 <link href="//cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet">
 <!-- 先引入jQuery,再引入bootstrap.js-->
 <script src="//cdn.bootcss.com/jquery/1.12.3/jquery.min.js"></script>
 <script src="//cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
 <style>
  .content{
   width: 60%;
   margin: auto;
  }
 </style>
</head>
<body>
 <div class="content">
  <ul class="nav nav-tabs" id='consume_tab'>
   <li><a href="#tab0" rel="external nofollow" data-toggle="tab">页签0</a></li>
   <li ><a href="#tab1" rel="external nofollow" data-toggle="tab">页签1</a></li>
   <li ><a href="#tab2" rel="external nofollow" data-toggle="tab">页签2</a></li>
   <li ><a href="#tab3" rel="external nofollow" data-toggle="tab">页签3</a></li>
   <li ><a href="#tab4" rel="external nofollow" data-toggle="tab">页签4</a></li>
  </ul>
 <div class="tab-content">
  <div class="tab-pane active " id="tab0">
   <div>
    <span>页签0内容</span>
   </div>
  </div>
  <div class="tab-pane fade " id="tab1">
   <div>
    <span>页签1内容</span>
   </div>
  </div>
  <div class="tab-pane fade " id="tab2">
   <div>
    <span>页签2内容,多了一个结束标签</span>
   <!-- 页签2内容多了一个结束标签-->
   </div>
   </div>
  </div>
  <div class="tab-pane fade " id="tab3">
   <div>
    <span>页签3内容,出现在页签2下方</span>
   </div>
  </div>
  <div class="tab-pane fade " id="tab4">
   <div>
    <span>页签4内容,出现在页签2下方</span>
   </div>
  </div>
 </div>
</div>
</body>
</html>

BootStrap 页签切换失效的解决方法

审查元素时看到tab-pan与tab-content在同级中出现是最明显的特征。这时候只需要查看最后一个能生效点击的页签中的代码(示例中为tab2),将多余的div结束标签去掉即可。

总结

这种错误易除了刚接触bootstrap的开发者容易遇见之外,使用模板引擎配合bootstrap进行开发的过程中,页面结构嵌套关系比较复杂的时候也容易产生这类错误,但清楚错误产生原理还有分析方法之后,解决起来并不困难。

Javascript 相关文章推荐
Js+XML 操作
Sep 20 Javascript
关于Aptana Studio生成自动备份文件的解决办法
Dec 23 Javascript
JS打开层/关闭层/移动层动画效果的实例代码
May 11 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
Feb 10 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
Feb 22 Javascript
浅谈JS之tagNaem和nodeName
Sep 13 Javascript
百度搜索框智能提示案例jsonp
Nov 28 Javascript
关于jQuery里prev()的简单操作代码
Oct 27 jQuery
微信小程序局部刷新触发整页刷新效果的实现代码
Nov 21 Javascript
微信小程序实现购物页面左右联动
Feb 15 Javascript
ant design vue中表格指定格式渲染方式
Oct 28 Javascript
JavaScript 生成唯一ID的几种方式
Feb 19 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
Aug 17 #Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
Aug 17 #Javascript
微信小程序滚动Tab实现左右可滑动切换
Aug 17 #Javascript
Angular实现图片裁剪工具ngImgCrop实践
Aug 17 #Javascript
jQuery Layer弹出层传值到父页面的实现代码
Aug 17 #jQuery
jQuery条件分页 代替离线查询(附代码)
Aug 17 #jQuery
vue中appear的用法
Aug 17 #Javascript
You might like
用PHP和ACCESS写聊天室(十)
2006/10/09 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
20个最新的jQuery插件
2012/01/13 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
jquery实现加载等待效果示例
2013/09/25 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
2015/08/17 Javascript
去除html代码里面的script正则方法
2016/05/19 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
VUE多层路由嵌套实现代码
2017/05/15 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
vue实现仿淘宝结账页面实例代码
2017/11/08 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
2019/09/24 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
python 实现自动远程登陆scp文件实例代码
2017/03/13 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
Python实现深度遍历和广度遍历的方法
2019/01/22 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
python里glob模块知识点总结
2021/01/05 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
主题班会演讲稿
2014/05/22 职场文书
自查自纠工作总结
2014/10/15 职场文书
学习心理学的体会
2014/11/07 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
小学英语课教学反思
2016/02/15 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书
MySQL主从搭建(多主一从)的实现思路与步骤
2021/05/13 MySQL
一些让Python代码简洁的实用技巧总结
2021/08/23 Python