详解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 相关文章推荐
LazyLoad 延迟加载(按需加载)
May 31 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
Dec 28 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
Feb 26 Javascript
利用jQuery实现打字机字幕效果实例代码
Sep 02 Javascript
JS中常用的正则表达式
Sep 29 Javascript
js时间控件只显示年月
Jan 08 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
Feb 11 Javascript
js实现拖拽功能
Mar 01 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
Jul 10 Javascript
优雅的在React项目中使用Redux的方法
Nov 10 Javascript
vue实现滑动切换效果(仅在手机模式下可用)
Jun 29 Javascript
javascript实现点击按钮切换轮播图功能
Sep 23 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转换超过2038年日期出错的问题解决
2017/06/28 PHP
javascript 面向对象编程基础:继承
2009/08/21 Javascript
js 多浏览器分别判断代码
2010/04/01 Javascript
一个简单的网站访问JS计数器 刷新1次加1次访问
2012/09/20 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
2013/09/27 Javascript
jQuery filter函数使用方法
2014/05/19 Javascript
jquery获取html元素的绝对位置和相对位置的方法
2014/06/20 Javascript
NodeJS学习笔记之FS文件模块
2015/01/13 NodeJs
jquery实现图片左右切换的方法
2015/05/07 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
JS伪继承prototype实现方法示例
2018/06/20 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
[01:38]DOTA2 2015国际邀请赛中国区预选赛 Showopen
2015/06/01 DOTA
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
python的mysqldb安装步骤详解
2017/08/14 Python
Python continue继续循环用法总结
2018/06/10 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
2020/03/12 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
编写用C语言实现的求n阶阶乘问题的递归算法
2014/10/21 面试题
班级活动总结格式
2014/08/30 职场文书
党的群众路线教育实践活动对照检查材料(个人)
2014/09/24 职场文书
高中生期中考试失利检讨书
2014/10/23 职场文书
2015年网管个人工作总结
2015/05/22 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA