详解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 相关文章推荐
基于jQuery的js分页代码
Jun 10 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
Aug 14 Javascript
AngularJS模块学习之Anchor Scroll
Jan 19 Javascript
jQuery增加与删除table列的方法
Mar 01 Javascript
JavaScript实现窗口抖动效果
Oct 19 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
Dec 13 Javascript
React 使用Hooks简化受控组件的状态绑定
Mar 18 Javascript
JS中实现浅拷贝和深拷贝的代码详解
Jun 05 Javascript
vue-froala-wysiwyg 富文本编辑器功能
Sep 19 Javascript
JS实现联想、自动补齐国家或地区名称的功能
Jul 07 Javascript
javascript实现简单留言板案例
Feb 09 Javascript
vite+vue3.0+ts+element-plus快速搭建项目的实现
Jun 24 Vue.js
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 删除记录实现代码
2009/03/12 PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
探讨PHP删除文件夹的三种方法
2013/06/09 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
php表单敏感字符过滤类
2014/12/08 PHP
Laravel框架控制器,视图及模型操作图文详解
2019/12/04 PHP
javascript实现轮显新闻标题链接
2007/08/13 Javascript
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
2014/09/01 Javascript
javascript实现table表格隔行变色的方法
2015/05/13 Javascript
jQuery中$.extend()用法实例
2015/06/24 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
nodejs多版本管理总结
2018/04/03 NodeJs
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
解决vuecli3.0热更新失效的问题
2018/09/19 Javascript
vue分页器组件编写方法详解
2019/06/28 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
[05:08]顺网杯ISS-DOTA2赛歌 少女偶像Lunar青春演绎
2013/12/05 DOTA
Python字符串处理之count()方法的使用
2015/05/18 Python
Python中取整的几种方法小结
2017/01/06 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
老生常谈python中的重载
2018/11/11 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
python自动保存百度盘资源到百度盘中的实例代码
2019/08/26 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
python字典的值可以修改吗
2020/06/29 Python
python 实现IP子网计算
2021/02/18 Python
使用Vue.js和MJML创建响应式电子邮件
2021/03/23 Vue.js
《伯牙绝弦》教学反思
2014/03/02 职场文书
公司联欢晚会主持词
2014/03/22 职场文书
乔丹名人堂演讲稿
2014/05/24 职场文书
放飞理想主题班会
2015/08/14 职场文书
导游词之桂林
2019/08/20 职场文书
浅谈spring boot使用thymeleaf版本的问题
2021/08/04 Java/Android