基于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 相关文章推荐
jQuery轻松实现无缝轮播效果
Mar 22 jQuery
jQuery实现按比例缩放图片的方法
Apr 29 jQuery
jquery中封装函数传递当前元素的方法示例
May 05 jQuery
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
jQuery实现点击关注和取消功能
Jul 03 jQuery
jquery对table做排序操作的实例演示
Aug 10 jQuery
基于jquery实现左右上下移动效果
May 02 jQuery
jQuery实现的简单获取索引功能示例
Jun 04 jQuery
深入浅析angular和vue还有jquery的区别
Aug 13 jQuery
jQuery实现点击图标div循环放大缩小功能
Sep 30 jQuery
jQuery Migrate 插件用法实例详解
May 22 jQuery
jQuery实现影院选座订座效果
Apr 13 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
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
php+redis实现消息队列功能示例
2019/09/19 PHP
在javascript将NodeList作为Array数组处理的方法
2010/07/09 Javascript
让AJAX不依赖后端接口实现方案
2012/12/03 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
2016/07/07 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
实例浅析js的this
2016/12/11 Javascript
js实现上下左右弹框划出效果
2017/03/08 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
详解angular脏检查原理及伪代码实现
2018/06/08 Javascript
js中getter和setter用法实例分析
2018/08/14 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
原生js实现下拉选项卡
2019/11/27 Javascript
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
Python中实现的RC4算法
2015/02/14 Python
深入讲解Python中的迭代器和生成器
2015/10/26 Python
Python列表list内建函数用法实例分析【insert、remove、index、pop等】
2017/07/24 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
详解Python中的分支和循环结构
2020/02/11 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
大都会艺术博物馆商店:The Met Store
2018/06/22 全球购物
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
初一生物教学反思
2014/01/18 职场文书
2015年学雷锋活动总结
2015/02/06 职场文书
工作能力自我评价2015
2015/03/05 职场文书
培训通知书模板
2015/04/17 职场文书
葬礼主持词
2015/07/02 职场文书
Pytorch使用shuffle打乱数据的操作
2021/05/20 Python
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis
Python jiaba库的使用详解
2021/11/23 Python