<body><form name="myForm"><table width="100%" id="tab" name="tab" border="0px" style="text-align:center;"><tr style="background-color:0099FF;color:black;"><td>选择</td> <td>编号</td><td>姓名</td>    <td>年龄</td>    <td>地址</td>        <td>操作</td>        <td>操作</td></tr>    <tr id="tr1" onmouseOver="onmouseOverMethod(this)" onmouseOut="onmouseOutMethod(this)" onclick="onClickChangeStyle(this)"><td><input type='hidden'><input type="checkbox" value="11"/></td><td>100</td><td>张三</td>    <td>15</td><td>湖南株洲</td><td><a href="#" onclick="addRow()">添加</a></td><td><a href="#" onclick="deleteRow(this)">删除</a></td></tr><tr id="tr2" onmouseOver="onmouseOverMethod(this)" onmouseOut="onmouseOutMethod(this)" onclick="onClickChangeStyle(this)"><td><input type="checkbox" value="22"/></td><td>101</td><td>李四</td>    <td>15</td><td>湖南长沙</td><td><a href="#" onclick="addRow()">添加</a></td><td><a href="#" onclick="deleteRow(this)">删除</a></td></tr><tr id="tr3" onmouseOver="onmouseOverMethod(this)" onmouseOut="onmouseOutMethod(this)" onclick="onClickChangeStyle(this)"><td><input type="checkbox" value="33"/></td><td>102</td><td>王五</td>    <td>15</td><td>湖南湘潭</td><td><a href="#" onclick="addRow()">添加</a></td><td><a href="#" onclick="deleteRow(this)">删除</a></td></tr></table></form>    </body>
<style>.displayStyle{background-color:00FFFF;}    .hideStyle{background-color:#FFFFF;}.onClickStyle{background-color:00FF00;}a{color:red;}a:hover{color:green;    }
</style>
<script>
var selectRow=null;
//单击时,改变样式;
function onClickChangeStyle(obj){//获取表格对象;var tab = document.getElementById("tab");//获取当前行选择下标;var currentRowIndex = obj.rowIndex;//获取表格所有行数;var tablRows = tab.rows.length;//获取表格第一行,第一列的值;//var firstCellValue = tab.rows[0].cells[0].innerHTML;//获取表格的第一行,第一列的第一个元素的值;//var firstChildValue = tab.rows[0].cells[0].firstChild.value;//循环表格的所有行;并且选择的当前行,改变背景颜色;for(var i = 1;i<tablRows;i=i+1){if(currentRowIndex == i){//为选中的当前,设置css样式;selectRow  = tab.rows[i];tab.rows[i].className= "onClickStyle";}else{//把没有选中的行的背景样式设置为白色;tab.rows[i].className= "hideStyle";}}
}//鼠标移入时,改变颜色;
function onmouseOverMethod(selectThis){selectThis.className="displayStyle";if(selectRow==selectThis){selectThis.className="onClickStyle";}
}//鼠标移除时,改变背景颜色;
function onmouseOutMethod(selectThis){selectThis.className="hideStyle";if(selectRow == selectThis){selectThis.className="onClickStyle";}
}//添加行;
function addRow(){var tab = document.getElementById('tab');var rowIndex = tab.rows.length+1;//添加一行;var tr  = tab.insertRow();tr.onmouseover = tr.className="displayStyle" ;tr.onmouseout = tr.className="hideStyle" ;tr.onclick=function (){this.className="onClickChangeStyle(this)";}var td1 = tr.insertCell();var td2 = tr.insertCell();var td3 = tr.insertCell();var td4 = tr.insertCell();var td5 = tr.insertCell();var td6 = tr.insertCell();var td7 = tr.insertCell();td1.innerHTML = "<input type='hidden'/><input type='checkbox' value = '1'>";td2.innerHTML = ""+rowIndex;td3.innerHTML = "测试";td4.innerHTML = "22";td5.innerHTML = "无地址";td6.innerHTML = "<a href='#' onclick='addRow()'>添加</a>";td7.innerHTML = "<a href='#' onclick='deleteRow(this)'>删除</a>";//初始化行;initRows(tab);
}//初始化行,设置序列号;
function initRows(tab){var tabRows = tab.rows.length;for(var i = 0;i<tabRows.length;i++){tab.rows[i].cells[0].firstChild.value=i;}
}//删除行;(obj代表连接对象)
function deleteRow(obj){var tab = document.getElementById('tab');//获取tr对象;var tr = obj.parentNode.parentNode;if(tab.rows.length>2){//tr.parentNode,指的是,table对象;移除子节点;tr.parentNode.removeChild(tr);}//重新生成行号;initRows(document.getElementById('tab'));
}
</script>    &nbsp;&nbsp;

javascript对table的添加,删除行的操作相关推荐

  1. JS实现表格Table动态添加删除行

    1.页面内容 <table style="border:1px ; width:100%; height:160px"> <THEAD> <TR> ...

  2. ***Redis hash是一个string类型的field和value的映射表.它的添加、删除操作都是O(1)(平均)。hash特别适合用于存储对象...

    http://redis.readthedocs.org/en/latest/hash/hset.html HSET HSET key field value   (存一个对象的时候key存) 将哈希 ...

  3. php表格单元格怎么实现排序,javascript实现对表格元素进行排序操作

    我们在上网中都能看到很多能够排序的,如大小.时间.价格等 现在我们也试一下排序功能: 排序的函数代码:里面含有点击之后排序--还原,和排升序和降序. function sortAge(){ //对年龄 ...

  4. Element-UI中关于table表格的那些骚操作

    最近的项目中使用到element-ui组件库,由于做的是后台管理系统,所以经常需要操作表格,编辑样式的过程中遇到一些问题,官网针对table给出了很多的api,自己可以自定义,基本能满足产品需求,但是 ...

  5. 【JavaScript】在JavaScript中使用JSON进行序列化/反序列化操作

    文章目录 用于stringfy/parse操作的"JSON"对象 JavaScript中简单数据类型的JSON序列化操作 使用toJSON()进行对象的序列化操作 使用eval() ...

  6. antd 下拉框怎么联动_Antd的Table组件嵌套Table以及选择框联动操作

    一.需求 在使用Table组件嵌套Table时,父子Table的选择框需要联动,即父Table选中,该行下的子Table需要全选中,某一个子Table全部选中,则该子Table所在的父Table那一行 ...

  7. asp.net 对xml文件的读写,添加,修改,删除操作

    asp.net 对xml文件的读写,添加,修改,删除操作 下面有代码调试正确 using System; using System.Collections; using System.Componen ...

  8. java中table是什么标签_[Java教程]javascript格式化table标签内容

    [Java教程]javascript格式化table标签内容 0 2015-07-12 20:00:08 项目中遇到这样的需求,一大段文章正文的html代码在手机中显示不全,原因是由于其它有table ...

  9. 自定义添加删除行按钮

    目录: 1. 问题描述 2. 实现思路 3. 示例 1. 问题描述编辑 直接在数据列后放置增加行和删除行按钮,由于添加删除行包含了一些脚本,若数据量很大时,这些脚本就会导致模板运行慢.为此可以采取只是 ...

最新文章

  1. Effective C++: noexcept
  2. 【JDK】JDK源码分析-HashMap(1)
  3. SpringBoot 中 @RequestBody的正确使用方法
  4. matlab的离散求导,高手留步:MATLAB五阶拟合函数,求导后离散化,输出结果是星号...
  5. mysql 吧库下的表名都加_mysql数据库表名大小写问题
  6. 如何使用小程序自定义组件功能
  7. maven 项目搭建
  8. 安全的可靠的数据防泄密系统
  9. 免费英语听力工具voscreen
  10. JCE cannot authenticate the provider BC
  11. 报错解决:expected START_TAG or END_TAG not TEXT (position: TEXT seen
  12. 计算机按键上不上去,键盘打不了字按什么键调
  13. 1gb.ru php,BeGet.ru:俄罗斯1G容量稳定PHP免费空间申请使用图文教程 | 骤雨打新荷...
  14. 三国志战略版:我去虎牢探探路_兴师伐乱剧本前瞻三
  15. python中a* b是什么意思_python的 a,b=b,a+b 和 a=b b=a+b 的区别
  16. 硬件电气接线需要注意的问题汇总
  17. 免编译安装Nginx_CentOS7编译安装nginx1.19.2
  18. 高效单元测试——EasyMock技术与应用
  19. leetcode792:匹配子序列的单词数
  20. 一个支持多屏显示的程序

热门文章

  1. (二)PowerLink理论知识
  2. php 获取src,html-使用PHP获取img src
  3. 关于CDC在非控件类中的使用
  4. MySQL的事务处理
  5. css练习github,10个Github上相见恨晚的CSS 奇技淫巧项目,帮你找到写CSS的灵感!
  6. 如何使用VS2019编译QT项目
  7. 答简书安卓公测群里朋友的提问
  8. html——原生js与jquery创建元素节点区别
  9. etcd工作原理和部署指南
  10. unity 3d换装之 SkinMeshRenderer