详解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 学习笔记一些小技巧
Mar 28 Javascript
javascript获取当前鼠标坐标的方法
Jan 10 Javascript
javascript实现带节日和农历的日历特效
Feb 01 Javascript
Angularjs实现搜索关键字高亮显示效果
Jan 17 Javascript
vue指令以及dom操作详解
Mar 04 Javascript
微信小程序 POST请求的实例详解
Sep 29 Javascript
JS实现的JSON序列化操作简单示例
Jul 02 Javascript
Redux实现组合计数器的示例代码
Jul 04 Javascript
vue改变循环遍历后的数据实例
Nov 07 Javascript
用JS实现一个简单的打砖块游戏
Dec 11 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
Aug 08 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
Nov 17 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实现字符串首字母转换成大写的方法
2015/03/17 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
JS模块与命名空间的介绍
2013/03/22 Javascript
JS完成代码前最好对其做5件事
2013/04/07 Javascript
js实现快速分享功能(你的文章分享工具)
2013/06/25 Javascript
JS画5角星方法介绍
2013/09/17 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
jquery ui bootstrap 实现自定义风格
2014/11/14 Javascript
JS数字抽奖游戏实现方法
2015/05/04 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
JavaScript数据结构之数组的表示方法示例
2017/04/12 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
用Python实现KNN分类算法
2017/12/22 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
python 杀死自身进程的实现方法
2019/07/01 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
Django REST框架创建一个简单的Api实例讲解
2019/11/05 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
在tensorflow中实现屏蔽输出的log信息
2020/02/04 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
2020/04/28 Python
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
Ejb技术面试题
2015/04/29 面试题
女子职高个人自荐书
2014/02/01 职场文书
财务信息服务专业自荐书范文
2014/02/08 职场文书
老公给老婆的保证书
2014/04/28 职场文书
创先争优公开承诺书
2014/08/30 职场文书
宣传部部长竞选稿
2015/11/21 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
NoSQL优缺点与MongoDB数据库简介
2022/06/05 MongoDB