详解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 相关文章推荐
javascript 24小时弹出一次的代码(利用cookies)
Sep 03 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
Jan 09 Javascript
映彩衣的js随笔(js图片切换效果)
Jul 31 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
Feb 25 Javascript
每天一篇javascript学习小结(Boolean对象)
Nov 12 Javascript
JS实现日期时间动态显示的方法
Dec 07 Javascript
jQuery实现简单隔行变色的方法
Feb 20 Javascript
JS判断日期格式是否合法的简单实例
Jul 11 Javascript
js设置随机切换背景图片的简单实例
Nov 12 Javascript
JS实现标签滚动切换效果
Dec 25 Javascript
JS无限级导航菜单实现方法
Jan 05 Javascript
JS实现带阴历的日历功能详解
Jan 24 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
Home Coffee Roasting
2021/03/03 咖啡文化
Laravel 的数据库迁移的方法
2017/07/31 PHP
浅谈php://filter的妙用
2019/03/05 PHP
PHP字符串和十六进制如何实现互相转换
2020/07/16 PHP
不要在cookie中使用特殊字符的原因分析
2010/07/13 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
2014/04/15 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
在for循环中length值是否需要缓存
2015/07/27 Javascript
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
原生js实现水平方向无缝滚动
2017/01/10 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
vue里面使用mui的弹出日期选择插件实例
2018/09/16 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
Vue的自定义组件不能使用click方法的解决
2020/07/28 Javascript
[02:15]2014DOTA2国际邀请赛 赛后退役选手回顾
2014/08/01 DOTA
cmd运行python文件时对结果进行保存的方法
2018/05/16 Python
Python实现网站表单提交和模板
2019/01/15 Python
python入门之井字棋小游戏
2020/03/05 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
tensorflow常用函数API介绍
2020/04/19 Python
Python基于numpy模块实现回归预测
2020/05/14 Python
Python批量获取并保存手机号归属地和运营商的示例
2020/10/09 Python
Python 远程开关机的方法
2020/11/18 Python
python之pygame模块实现飞机大战完整代码
2020/11/29 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
怎样声明一个匿名的内部类
2016/06/01 面试题
社区党总支书记先进事迹材料
2014/01/24 职场文书
环卫工人节活动总结
2014/08/29 职场文书
小时代观后感
2015/06/10 职场文书
行为习惯主题班会
2015/08/14 职场文书