详解jQuery简单的表格应用


Posted in Javascript onDecember 16, 2016

大致介绍

在CSS技术之前,网页的布局基本都是依靠表格制作,当有了CSS之后,表格就被很多设计师所抛弃,但是表格也有他的用武之地,比如数据列表,下面以表格中常见的几个应用来加深对jQuery的认识。

表格变色

基本的结构:

<table>
    <thead>
      <tr><th>姓名</th><th>性别</th><th>暂住地</th></tr>
    </thead>
    <tbody>
      <tr><td>张三</td><td>男</td><td>杭州</td></tr>
      <tr><td>王五</td><td>女</td><td>江苏</td></tr>
      <tr><td>李斯</td><td>男</td><td>北京</td></tr>
      <tr><td>赵六</td><td>女</td><td>兰州</td></tr>
      <tr><td>往往</td><td>男</td><td>酒泉</td></tr>
      <tr><td>李师傅</td><td>男</td><td>东京</td></tr>
    </tbody>
  </table>

1、普通的隔行变色

首先定义两个样式

.even{
    background: #FFF38F;
  }
 .odd{
    background: #FFFFEE;
  } 
 

添加变色

$('tr:odd').addClass('odd');
 $('tr:even').addClass('even');

2、单选框控制表格行高亮

在每一行之前加一个单选按钮,当单击某一行后,此行被选中高亮显示并且单选框被选中

$('tbody>tr').click(function(){
    $(this)
      .addClass('selected')
      .siblings().removeClass('selected')
      .end()
      .find(':radio').attr('checked',true);
  });

3、复选框控制表格行高亮

$('tbody>tr').click(function(){
    if($(this).hasClass('selected')){
      $(this).removeClass('selected')
          .find(':checkbox').attr('checked',false);
    }else{
      $(this).addClass('selected')
          .find(':checkbox').attr('checked',true);
    }
  });

表格展开关闭

基本结构:

<table>
    <thead>
      <tr><th></th><th>姓名</th><th>性别</th><th>暂住地</th></tr>
    </thead>
    <tbody>
      <tr class="parent" id="row_01"><td colspan="3">前台设计组</td></tr>
      <tr class="child_row_01"><td></td><td>张三</td><td>男</td><td>杭州</td></tr>
      <tr class="child_row_01"><td></td><td>王五</td><td>女</td><td>江苏</td></tr>
      <tr class="parent" id="row_02"><td colspan="3">前台开发组</td></tr>
      <tr class="child_row_02"><td></td><td>李斯</td><td>男</td><td>北京</td></tr>
      <tr class="child_row_02"><td></td><td>赵六</td><td>女</td><td>兰州</td></tr>
      <tr class="parent" id="row_03"><td colspan="3">后台开发组</td></tr>
      <tr class="child_row_03"><td></td><td>往往</td><td>男</td><td>酒泉</td></tr>
      <tr class="child_row_03"><td></td><td>李师傅</td><td>男</td><td>东京</td></tr>
    </tbody>
  </table>

添加事件,当点击一个分类的标题时,这个分类关闭或者打开

$('tr.parent').click(function(){
    $(this).toggleClass('selected')
       .siblings('.child_' + this.id).toggle();
  });

表格内容筛选

基本结构:

<table>
    <thead>
      <tr><th></th><th>姓名</th><th>性别</th><th>暂住地</th></tr>
    </thead>
    <tbody>
      <tr class="parent" id="row_01"><td colspan="3">前台设计组</td></tr>
      <tr class="child_row_01"><td></td><td>张三</td><td>男</td><td>杭州</td></tr>
      <tr class="child_row_01"><td></td><td>王五</td><td>女</td><td>江苏</td></tr>
      <tr class="parent" id="row_02"><td colspan="3">前台开发组</td></tr>
      <tr class="child_row_02"><td></td><td>李斯</td><td>男</td><td>北京</td></tr>
      <tr class="child_row_02"><td></td><td>赵六</td><td>女</td><td>兰州</td></tr>
      <tr class="parent" id="row_03"><td colspan="3">后台开发组</td></tr>
      <tr class="child_row_03"><td></td><td>往往</td><td>男</td><td>酒泉</td></tr>
      <tr class="child_row_03"><td></td><td>李师傅</td><td>男</td><td>东京</td></tr>
    </tbody>
  </table>
  <input type="text" id="filterName" />

添加事件

$('#filterName').keyup(function(){
   $('table tbody tr').hide().filter(":contains(' "+($(this).val())+" ' )").show();
 });

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
驱动事件的addEvent.js代码
Mar 27 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
Dec 12 Javascript
jQuery实现自动切换播放的经典滑动门效果
Sep 12 Javascript
Jquery 效果使用详解
Nov 23 Javascript
JSON字符串转换JSONObject和JSONArray的方法
Jun 03 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
Dec 07 Javascript
vue router路由嵌套不显示问题的解决方法
Jun 17 Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
Dec 27 Javascript
vue绑定事件后获取绑定事件中的this方法
Sep 15 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
Jan 24 Javascript
前端深入理解Typescript泛型概念
Mar 09 Javascript
Vue 数据绑定的原理分析
Nov 16 Javascript
JS中parseInt()和map()用法分析
Dec 16 #Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
Dec 16 #Javascript
JS数字千分位格式化实现方法总结
Dec 16 #Javascript
jquery插件锦集【推荐】
Dec 16 #Javascript
jQuery Easyui 下拉树组件combotree
Dec 16 #Javascript
JS实现字符串转驼峰格式的方法
Dec 16 #Javascript
详解js数组的完全随机排列算法
Dec 16 #Javascript
You might like
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
PHP比较运算符的详细介绍
2015/09/29 PHP
Zend Framework框架Smarty扩展实现方法
2016/03/22 PHP
PHP应用跨时区功能的实现方法
2019/03/21 PHP
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
Javascript面向对象之四 继承
2011/02/08 Javascript
浅析js中2个等号与3个等号的区别
2013/08/06 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
2015/05/03 Javascript
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
2017/06/12 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
详解jQuery中的easyui
2018/09/02 jQuery
angular4中*ngFor不能对返回来的对象进行循环的解决方法
2018/09/12 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
Vue项目页面跳转时浏览器窗口上方显示进度条功能
2020/03/26 Javascript
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
在Python中使用next()方法操作文件的教程
2015/05/24 Python
Python编程中对文件和存储器的读写示例
2016/01/25 Python
Python 搭建Web站点之Web服务器网关接口
2016/11/06 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
2020/02/19 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
意大利奢华内衣制造商:Cosabella
2017/08/29 全球购物
财会自我鉴定范文
2013/12/27 职场文书
硕士研究生就业推荐信
2014/05/18 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
卫生保健工作总结2015
2015/05/18 职场文书
图文详解matlab原始处理图像几何变换
2021/07/09 Python
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android