基于jQuery实现可编辑的表格


Posted in jQuery onDecember 11, 2019

前言

我们知道jQuery是一个轻便的JavaScript框架,里面封装了系统和程序常用到的一些方法,利用CSS、HTML可以将这些内容运用起来,做出各式各样好看的界面,下面小编使用jQuery实现了一个“可编辑的表格”的例子。

代码加说明

一、HTML代码

1.使用<thead></thead>实现标头;

2.一个table中可以包含thead和tbody

3.表头的内容可以放到th中。

<!DOCTYPE HTML>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>JQuery实战2-可编辑的表格</title>
 <link href="css/editTable.css" type="text/css" rel="stylesheet" />
 <script type="text/javascript" src="js/jquery.js"></script>
 <script type="text/javascript" src="js/editTable.js"></script>
</head>
<body>
 <table>
 <thead>
  <tr>
  <th colspan=2>鼠标点击表格项就可以编辑</th>
  </tr>
 </thead> 
 
 <tbody>
  <tr>
  <th>学号</th>
  <th>姓名</th>
 </tr>
 <tr>
  <td>001</td>
  <td>周星驰</td> 
  </tr> 
 <tr>
  <td>002</td>
  <td>星女郎</td> 
  </tr> 
 <tr>
  <td>003</td>
  <td>周润发</td> 
 </tr>
 <tr>
  <td>004</td>
  <td>赌神</td> 
 </tr>
 </tbody>
 </table>
</body>
</html>

基于jQuery实现可编辑的表格

二、CSS代码

1.table{}称作标签选择器,可以对整个页面所有table产生影响;

2.table td{} 表示table中包含的所有td;

3.border_collapse:collape 使表格中的单元格的边框合并

table{
 border:1px solid black;
 border-collapse:collapse;
 /* 修正单元格之间的边框不能合并的问题*/
 width:400px;
 }
 
table th{
 border:1px solid black;
 width:50%;
}
table td{
 border:1px solid black;
 width:50%; 
}
tbody th{
 background-color:#A3BAE9;
}

三、JavaScript文件代码

1.用来解决奇偶行背景色不同;

2.$(function(){})与$(documnet).ready(function(){})等价;

  $("tbody tr")  可以返回tbody中所有tr节点;

  $("tbody tr:even") 可以返回tbody中所有索引值是偶数的tr节点;

3.$()方法的参数如果是一个DOM对象时,这个方法相当于把DOM对象转换成jQuery对象;

   $()方法的参数如果是一段正确的HTML文本,则可以创建一个DOM节点,并包装成jQuery对象。

$(function(){ 
 //找到表格偶数行
 //odd是数组中下标为奇数的项,even是下标为偶数的项
 $("tbody tr:even").css("background-color","#ECE9D8");
 //找到所有学号的单元格
 var numId=$("tbody td:even");
 //给这些单元格注册点击事件
 numId.click(function(){
  
 //找到当前鼠标点击的td
 var tdObj=$(this);
 //
 if(tdObj.children("input").length>0){
  //当前td中的input,不执行click处理
  return false;
  }
 var text=tdObj.html();
 //清空td的内容
 tdObj.html("");
 
 //创建一个文本框
 //去掉文本框的边框
 //文本框的文字大小16px
 //文本框的宽度与td相同 
 //设置文本框的背景色
 //将td中的内容放到文本框中 
 //将文本框插入到td中
 var inputObj=$("<input type='text' />").css("border-width","0")
 .css("font-size","16px")
 .width(tdObj.width())
 .css("background-color",tdObj.css("background-color"))
 .css("font",tdObj.css("font"))
 .val(text)
 .appendTo(tdObj); 
 //文本框插入后被选中
 //inputObj.get(0).select();
 inputObj.trigger("focus").trigger("select");
 inputObj.click(function(){
   return false;
   });
 //处理文本框的回车和Esc操作
 inputObj.keyup(function(event){
        //获取键值
 var keycode=event.which;
        //回车
  if(keycode==13){
  //获取当前文本框的内容
  var inputText=$(this).val();
  //将td的内容修改为文本框的内容
  tdObj.html(inputText);
  }
   
  //esc情况,
  //将td的内容还原成text
  if(keycode==27){
  tdObj.html(text);
  }
 
 });
 
  });
 
});

小结

关于jQuery的学习,不只是停留在例子上面,我们还要从中不断地深入,理解并能够运用起来。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
简单谈谈require模块化jquery和angular的问题
Jun 23 jQuery
原生js jquery ajax请求以及jsonp的调用方法
Aug 04 jQuery
简单实现jQuery弹窗效果
Oct 30 jQuery
浅谈ajax在jquery中的请求和servlet中的响应
Jan 22 jQuery
解决Jquery下拉框数据动态获取的问题
Jan 25 jQuery
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
Jan 18 jQuery
jquery登录的异步验证操作示例
May 09 jQuery
jQuery操作动画完整实例分析
Jan 10 jQuery
jQuery cookie的公共方法封装和使用示例
Jun 01 jQuery
jQuery开发仿QQ版音乐播放器
Jul 10 jQuery
Jquery使用each函数实现遍历及数组处理
Jul 14 jQuery
jQuery实现广告显示和隐藏动画
Jul 04 jQuery
jQuery实现可编辑的表格
Dec 11 #jQuery
jQuery实现验证用户登录
Dec 10 #jQuery
jquery实现弹窗(系统提示框)效果
Dec 10 #jQuery
jQuery实现消息弹出框效果
Dec 10 #jQuery
jQuery实现弹出层效果
Dec 10 #jQuery
JQuery样式与属性设置方法分析
Dec 07 #jQuery
JQuery常用简单动画操作方法回顾与总结
Dec 07 #jQuery
You might like
留言板翻页的实现详解
2006/10/09 PHP
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
自己写的php curl库实现整站克隆功能
2015/02/12 PHP
laravel配置Redis多个库的实现方法
2019/04/10 PHP
php中关于换行的实例写法
2019/09/26 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
js 操作符实例代码
2009/10/24 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
谈一谈js中的执行环境及作用域
2016/03/30 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
2017/07/19 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
微信小程序自定义单项选择器样式
2019/07/25 Javascript
扫微信小程序码实现网站登陆实现解析
2019/08/20 Javascript
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
解决python2.7 查询mysql时出现中文乱码
2016/10/09 Python
Python paramiko模块的使用示例
2018/04/11 Python
Python生成器实现简单&quot;生产者消费者&quot;模型代码实例
2020/03/27 Python
Python接口测试数据库封装实现原理
2020/05/09 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
2020/06/11 Python
Python如何在单元测试中给对象打补丁
2020/08/03 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
美国钻石商店:Zales
2016/11/20 全球购物
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
某公司部分笔试题
2013/11/05 面试题
抽样调查项目计划书
2014/04/24 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书
2014年居委会工作总结
2014/12/09 职场文书
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python
Java8 CompletableFuture 异步回调
2022/04/28 Java/Android