jQuery表格(Table)基本操作实例分析


Posted in Javascript onMarch 10, 2017

本文实例讲述了jQuery表格(Table)基本操作。分享给大家供大家参考,具体如下:

Jquery 操作 Html Table 是很方便的,这里对表格的基本操作进行一下简单的总结。

首先建立一个通用的表格css 和一个 表格Table:

table
{
  border-collapse: collapse;
  border-spacing: 0;
  margin-right: auto;
  margin-left: auto;
  width: 800px;
 }
 th, td
 {
  border: 1px solid #b5d6e6;
  font-size: 12px;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  height: 20px;
 }
 th
 {
  background-color: Gray;
 }
<table>
    <tr>
      <th style="width: 160px;">表头一</th>
      <th style="width: 160px;">表头二 </th>
      <th style="width: 160px;">表头三</th>
      <th style="width: 160px;">表头四</th>
      <th style="width: 160px;">表头五</th>
    </tr>
    <tr>
      <td>第一行第一列</td>
      <td>第一行第二列</td>
      <td>第一行第三列</td>
      <td>第一行第四列</td>
      <td>第一行第五列</td>
    </tr>
    <tr>
      <td>第二行第一列</td>
      <td>第二行第二列</td>
      <td>第二行第三列</td>
      <td>第二行第四列</td>
      <td>第二行第五列</td>
    </tr>
    <tr>
      <td>第三行第一列</td>
      <td>第三行第二列</td>
      <td>第三行第三列</td>
      <td>第三行第四列</td>
      <td>第三行第五列</td>
    </tr>
    <tr>
      <td>第四行第一列</td>
      <td>第四行第二列</td>
      <td>第四行第三列</td>
      <td>第四行第四列</td>
      <td>第四行第五列</td>
    </tr>
</table>

一、鼠标移动到行更换背景色:

增加一个css样式:

.hover
{
 background-color: #cccc00;
}

Js脚本:

$(document).ready(function () {
  //鼠标移动到行变色,单独建立css类hover
  //tr:gt(0):表示获取大于 tr index 为0 的所有tr,即不包括表头
  $("#table1 tr:gt(0)").hover(
  function () { $(this).addClass("hover") },
  function () { $(this).removeClass("hover") })
});

结果执行结果:

jQuery表格(Table)基本操作实例分析

二、 表格奇偶行变色 :

奇数行和偶数行css:

.odd{ background-color: #bbf;}
.even{ background-color:#ffc; }

Js脚本:

$(document).ready(function () {
  //奇偶行不同颜色
  $("#table2 tbody tr:odd").addClass("odd"),
  $("#table2 tbody tr:even").addClass("even")
  //或者
  //$("#table2 tbody tr:odd").css("background-color", "#bbf"),
  //$("#table2 tbody tr:even").css("background-color", "#ffc")
});

结果显示:

jQuery表格(Table)基本操作实例分析

三、基本操作:

(1)删除行,比如删除表格中的第二行:

//删除指定行(第二行)
$("#table3 tr:gt(0):eq(1)").remove();

(2)删除列,比如删除表格中的第二列:

//eq:获取子元素索引从 0 开始,先删除表头
$("#table3 tr th:eq(1)").remove();
//nth-child:获取子元素从 1 开始
$("#table3 tr td:nth-child(2)").remove();

(3)删除其它行,比如第二行之外的所有行:

$("#table3 tr:gt(0):not(:eq(1))").remove();

(4)删除其它列,比如第二列之外的所有列:

//先删除表头
$("#table3 tr th:not(:eq(1))").remove();
$("#table3 tr td:not(:nth-child(2))").remove();

(5)隐藏行,比如隐藏第二行:

$("#table3 tr:gt(0):eq(1)").hide();
//或者
//$("#table3 tr:gt(0):eq(1)").css("display", "none")
//显示
//$("#table3 tr:gt(0):eq(1)").css("display", "");

(6)隐藏列,比如隐藏第二列:

$("#table3 tr th:eq(1)").hide();
$("#table3 tr td:nth-child(2)").hide();
//或者
//$("#table3 tr th:eq(1)").css("display", "none");
//$("#table3 tr td:nth-child(2)").css("display", "none");
//显示
//$("#table3 tr th:eq(1)").css("display", "");
//$("#table3 tr td:nth-child(2)").css("display", "");

(7)插入新行,在表格最后的位置:

var newRow = "<tr style=\"background:red;\"><td>新行第一列</td><td>新行第二列</td><td>新行第三列</td><td>新行第四列</td><td>新行第五列</td></tr>";
$("#table3 tr:last").after(newRow);

(8)插入行,在第二行之后插入:

var newRow = "<tr style=\"background:red;\"><td>新行第一列</td><td>新行第二列</td><td>新行第三列</td><td>新行第四列</td><td>新行第五列</td></tr>";
$("#table3 tr:gt(0):eq(1)").after(newRow);

(9)获得单元格的值,比如第二行第三列:

var v = $("#table3 tr:gt(0):eq(1) td:eq(2)").text();
//结果显示:第二行第三列

(10)获取一列的所有值,比如第二列:

var v = "";
$("#table3 tr td:nth-child(2)").each(function () {
  v += $(this).text()+" ";
});
//结果:第一行第二列 第二行第二列 第三行第二列

(11)获取一行的所有值,比如第二行:

var v = "";
$("#table3 tr:gt(0):eq(1) td").each(function () {
    v += $(this).text() + " ";
});
//结果:第二行第一列 第二行第二列 第二行第三列 第二行第四列 第二行第五列

(12)合并行单元格 比如合并 第二行第二个和第三个单元格:

$("#table3 tr:gt(0):eq(1) td:eq(1)").attr("colspan", 2);
$("#table3 tr:gt(0):eq(1) td:eq(2)").remove();

(13)拆分行单元格将上面合并的单元格还原:

//注意不能使用
//$("#table3 tr:gt(0):eq(1) td:eq(1)").removeAttr("colspan");
$("#table3 tr:gt(0):eq(1) td:eq(1)").attr("colspan", 1);
$("#table3 tr:gt(0):eq(1) td:eq(1)").after("<td>第二行第三列</td>")

(14)合并列单元格,比如合并第二列第二个单元格和第三个单元格

$("#table3 tr:gt(0):eq(1) td:eq(1)").attr("rowspan", 2);
$("#table3 tr:gt(0):eq(2) td:eq(1)").remove();

(15)拆分列单元格,比如将上面刚合并的单元格还原:

$("#table3 tr:gt(0):eq(1) td:eq(1)").attr("rowspan", 1);
//在下面行第一个单元格后插入单元格
$("#table3 tr:gt(0):eq(2) td:eq(0)").after("<td>第三行第二列</td>");

(16)为每个单元格增加点击事件,并弹出该单元格行索引和列索引:

$(document).ready(function () {
  //点击#table3 的单元格返回 单元格索引
  $("#table3 td").click(function () {
    var tdSeq = $(this).parent().find("td").index($(this));
    var trSeq = $(this).parent().parent().find("tr").index($(this).parent());
    alert("第" + (trSeq) + "行,第" + (tdSeq+1) + "列");
  })
});

附:完整实例代码点击此处本站下载

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
jQuery 源代码显示控件 (Ajax加载方式).
May 18 Javascript
JavaScript基础知识之数据类型
Aug 06 Javascript
JavaScript利用正则表达式去除日期中的-
Jun 09 Javascript
JavaScript截断字符串的方法
Jul 15 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
Dec 05 Javascript
Vue-Router进阶之滚动行为详解
Sep 13 Javascript
NW.js 简介与使用方法
Feb 01 Javascript
vue的全局提示框组件实例代码
Feb 26 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
Mar 13 Javascript
Vue 监听列表item渲染事件方法
Sep 06 Javascript
ant-design-vue中tree增删改的操作方法
Nov 03 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
Mar 10 #Javascript
微信小程序 出现47001 data format error原因解决办法
Mar 10 #Javascript
BootstrapValidator实现注册校验和登录错误提示效果
Mar 10 #Javascript
Bootstrap fileinput组件封装及使用详解
Mar 10 #Javascript
Bootstrap栅格系统使用方法及页面调整变形的解决方法
Mar 10 #Javascript
Node.js中.pfx后缀文件的处理方法
Mar 10 #Javascript
Vue.js结合bootstrap实现分页控件
Mar 10 #Javascript
You might like
星际争霸 Starcraft 游戏介绍
2020/03/14 星际争霸
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
关于JSON以及JSON在PHP中的应用技巧
2013/11/27 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
2014/04/29 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
在Laravel5中正确设置文件权限的方法
2019/05/22 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
JQuery实现自定义对话框的代码
2008/06/15 Javascript
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
2015/04/14 Javascript
微信小程序 页面跳转传递值几种方法详解
2017/01/12 Javascript
详谈angularjs中路由页面强制更新的问题
2017/04/24 Javascript
Angular2使用Angular-CLI快速搭建工程(二)
2017/05/21 Javascript
JavaScript的setter与getter方法
2017/11/29 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
JS数组求和的常用方法总结【5种方法】
2019/01/14 Javascript
微信小程序select下拉框实现效果
2019/05/15 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
jquery实现穿梭框功能
2021/01/19 jQuery
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
HTML5中input输入框默认提示文字向左向右移动的示例代码
2020/09/10 HTML / CSS
巴西购物网站:Onofre Agora
2020/06/08 全球购物
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
学生喝酒检讨书500字
2014/11/02 职场文书
详解Python中下划线的5种含义
2021/07/15 Python
分享几个简单MySQL优化小妙招
2022/03/31 MySQL