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 相关文章推荐
JQuery Dialog的内存泄露问题解决方法
Jun 18 Javascript
Js切换功能的简单方法
Nov 23 Javascript
JS实现局部选择打印和局部不选择打印
Apr 03 Javascript
jQuery中:radio选择器用法实例
Jan 03 Javascript
js的toUpperCase方法用法实例
Jan 27 Javascript
JavaScript判断微信浏览器实例代码
Jun 13 Javascript
ES6正则表达式的一些新功能总结
May 09 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
May 11 Javascript
使用Node.js搭建静态资源服务详细教程
Aug 02 Javascript
jQuery实现的简单无刷新评论功能示例
Nov 08 jQuery
Jquery让form表单异步提交代码实现
Nov 14 jQuery
基于 Vue 的 Electron 项目搭建过程图文详解
Jul 22 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
第六节 访问属性和方法 [6]
2006/10/09 PHP
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
JS中不为人知的五种声明Number的方式简要概述
2013/02/22 Javascript
Jquery绑定事件(bind和live的区别介绍)
2013/08/23 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
JavaScript简单实现网页回到顶部功能
2013/11/12 Javascript
nodejs获取本机内网和外网ip地址的实现代码
2014/06/01 NodeJs
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
2015/03/02 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
JavaScript中字符串(string)转json的2种方法
2015/06/25 Javascript
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
vue-router中scrollBehavior的巧妙用法
2018/07/09 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
2020/03/12 Javascript
JavaScript动态生成表格的示例
2020/11/02 Javascript
python 容器总结整理
2017/04/04 Python
Python3.6连接Oracle数据库的方法详解
2018/05/18 Python
PyQt5实现简易电子词典
2019/06/25 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
Jupyter notebook 启动闪退问题的解决
2020/04/13 Python
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
高中地理教学反思
2014/01/29 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
电子银行业务授权委托书
2014/10/10 职场文书
2014年服装销售工作总结
2014/11/27 职场文书
五好家庭事迹材料
2014/12/20 职场文书
2015年大学教师工作总结
2015/05/20 职场文书
2016年党员承诺书范文
2016/03/24 职场文书
如何制定一份可行的计划!
2019/06/21 职场文书
mysql使用instr达到in(字符串)的效果
2022/04/03 MySQL
Python matplotlib安装以及实现简单曲线的绘制
2022/04/26 Python
详解Android中的TimePickerView(时间选择器)的用法
2022/04/30 Java/Android