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 相关文章推荐
JavaScript类和继承 constructor属性
Mar 04 Javascript
jquery indexOf使用方法
Aug 19 Javascript
JS 在指定数组中随机取出N个不重复的数据
Jun 10 Javascript
Node.js模块加载详解
Aug 16 Javascript
JS常用函数使用指南
Nov 23 Javascript
分享经典的JavaScript开发技巧
Nov 21 Javascript
FullCalendar日历插件应用之数据展现(一)
Dec 23 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
May 10 Javascript
jQuery事件用法详解
Oct 06 Javascript
vue.js声明式渲染和条件与循环基础知识
Jul 31 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
Oct 16 Javascript
浅谈vue3中effect与computed的亲密关系
Oct 10 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
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
PHP 通过Socket收发十六进制数据的实现代码
2013/08/16 PHP
ZendFramework框架实现连接两个或多个数据库的方法
2016/12/08 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
javascript判断非数字的简单例子
2013/07/18 Javascript
javascript 循环调用示例介绍
2013/11/20 Javascript
简单的代码实现jquery定时器
2014/01/03 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
一看就懂:jsonp详解
2015/06/01 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
浅析Bootstrip的select控件绑定数据的问题
2016/05/10 Javascript
原生javascript 学习之js变量全面了解
2016/07/14 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
用js实现放大镜效果
2020/10/28 Javascript
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
详解python配置虚拟环境
2019/04/08 Python
Django单元测试中Fixtures用法详解
2020/02/25 Python
Python Opencv实现单目标检测的示例代码
2020/09/08 Python
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
新西兰网上购物,折扣店:BestDeals.co.nz
2019/03/20 全球购物
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
2014年上半年工作自我评价
2014/01/18 职场文书
职工运动会感言
2014/02/07 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
寄语是什么意思
2014/04/10 职场文书
村长党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
共产党员批评与自我批评
2014/10/15 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
党务工作者主要事迹材料
2015/11/03 职场文书
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python