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 设计模式(二) 闭包
May 26 Javascript
JQuery判断HTML元素是否存在的两种解决方法
Dec 26 Javascript
jQuery根据元素值删除数组元素的方法
Jun 24 Javascript
JavaScript中获取纯正的undefined的方法
Mar 06 Javascript
javascript 数组的定义和数组的长度
Jun 07 Javascript
原生JavaScript制作计算器
Oct 16 Javascript
AngularJS入门教程之Cookies读写操作示例
Nov 02 Javascript
移动端利用H5实现压缩图片上传功能
Mar 29 Javascript
js设置随机切换背景图片的简单实例
Nov 12 Javascript
关于vue.js中实现方法内某些代码延时执行
Nov 14 Javascript
基于Element封装一个表格组件tableList的使用方法
Jun 29 Javascript
JavaScript 定时器详情
Nov 11 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页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
jquery获取radio值实例
2014/10/16 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
jQuery插件实现图片轮播特效
2016/06/16 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
mui上拉加载功能实例详解
2017/04/13 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
js实现敏感词过滤算法及实现逻辑
2018/07/24 Javascript
小程序开发基础之view视图容器
2018/08/21 Javascript
使用zrender.js绘制体温单效果
2019/10/31 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
Python和php通信乱码问题解决方法
2014/04/15 Python
记录Django开发心得
2014/07/16 Python
Python lxml模块安装教程
2015/06/02 Python
Python代码解决RenderView窗口not found问题
2016/08/28 Python
python实现停车管理系统
2018/11/30 Python
Flask之请求钩子的实现
2018/12/23 Python
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
2019/01/10 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
使用Python正则表达式操作文本数据的方法
2019/05/14 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
python实现用户名密码校验
2020/03/18 Python
在python中修改.properties文件的操作
2020/04/08 Python
常用的HTML5列表标签
2017/06/20 HTML / CSS
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
电子信息毕业生自荐信
2013/11/16 职场文书
铣工实训报告
2014/11/05 职场文书
2015年见习期工作总结
2014/12/12 职场文书
保安辞职信范文
2015/02/28 职场文书
2016年乡镇七一建党节活动总结
2016/04/05 职场文书