详解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 相关文章推荐
使用Modello编写JavaScript类
Dec 22 Javascript
javascript数组的扩展实现代码集合
Jun 01 Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
Oct 11 Javascript
jquery向上向下取整适合分页查询
Sep 06 Javascript
分享一款基于jQuery的视频播放插件
Oct 09 Javascript
jQuery中:button选择器用法实例
Jan 04 Javascript
js实现透明度渐变效果的方法
Apr 10 Javascript
js获取时间精确到秒(年月日)
Mar 16 Javascript
微信小程序 toast 详解及实例代码
Nov 09 Javascript
JQuery判断radio单选框是否选中并获取值的方法
Jan 17 jQuery
JS隐藏号码中间4位代码实例
Apr 09 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
Nov 06 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
php中strstr、strrchr、substr、stristr四个函数的区别总结
2014/09/22 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
IE无法设置短域名下Cookie
2010/09/23 Javascript
解决jquery的.animate()函数在IE6下的问题
2010/12/03 Javascript
jQuery插件实现大图全屏图片相册
2015/03/14 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
理解javascript函数式编程中的闭包(closure)
2016/03/08 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
2016/09/16 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
js实现简单页面全屏
2019/09/17 Javascript
JS图片懒加载技术实现过程解析
2020/07/27 Javascript
python实现数组插入新元素的方法
2015/05/22 Python
python实现跨excel的工作表sheet之间的复制方法
2018/05/03 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
Pycharm更换python解释器的方法
2018/10/29 Python
Django文件上传与下载(FileFlid)
2019/10/06 Python
python学生信息管理系统实现代码
2019/12/17 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
Django模板获取field的verbose_name实例
2020/05/19 Python
python dict乱码如何解决
2020/06/07 Python
Python try except finally资源回收的实现
2021/01/25 Python
canvas仿写贝塞尔曲线的示例代码
2017/12/29 HTML / CSS
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
卡骆驰新加坡官网:Crocs新加坡
2018/06/12 全球购物
商场端午节活动方案
2014/01/29 职场文书
优秀企业获奖感言
2014/02/01 职场文书
骨干教师培训方案
2014/05/06 职场文书
商场促销活动策划方案
2014/08/18 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
诚信承诺书
2015/01/19 职场文书
安全伴我行主题班会
2015/08/13 职场文书
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python
手把手带你彻底卸载MySQL数据库
2022/06/14 MySQL