表格:增加、删除行,鼠标移动改变行背景色,行内文本框自适应td,a除下划线(使用节点实现)
2016-08-25 16:20
806 查看
1.增加行
<html>代码 -------- <input type="button" value="添加一行" onclick="addOne()"> js代码 ----- function addOne() { var tbody = document.getElementById("table").lastChild; var tr = document.createElement("tr"); var td = document.createElement("td"); td.innerHTML = "<input type='text' style='border:none;width:100%;height:100%'>"; tr.appendChild(td); td =document.createElement("td"); td.innerHTML = "<input type='text' style='border:none;width:100%;height:100%'>" tr.appendChild(td); td =document.createElement("td"); td.innerHTML = "<a href='javascript:;' onclick='deleteRow(this)'>删除</a>" tr.appendChild(td); tbody.appendChild(tr); Highlight();//保证增加的行也有移动鼠标改变背景色的功能所以添加这个函数 }
2.删除行
<html>代码 -------- <table border="1" width="50%" height="50%" id="table"> <tr> <th>学号</th> <th>姓名</th> <th>操作</th> </tr> <tr> <td>xh001</td> <td>王小明</td> <td><a href="javascript:;" onclick="deleteRow(this)">删除</a></td> </tr> <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="javascript:;" onclick="deleteRow(this)">删除</a></td> </tr>//this指代标签a </table> js代码 ----- function deleteRow(obj) { var tbody = document.getElementById("table").lastChild; var tr = obj.parentNode.parentNode; tbody.removeChild(tr); }
3.鼠标移动改变行背景色
<html>代码 -------- <table border="1" width="50%" height="50%" id="table"> <tr> <th>学号</th> <th>姓名</th> <th>操作</th> </tr> <tr> <td>xh001</td> <td>王小明</td> <td><a href="javascript:;" onclick="deleteRow(this)">删除</a></td> </tr> <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="javascript:;" onclick="deleteRow(this)">删除</a></td> </tr> </table> 注释 -- <a href="javascript:de(this)">与<a href="javascript:;" onclick="de(this)">的区别,使用onclick="de(this)"的时候,解释器会给他包装一个匿名函数,变成了: a.onclick = function anonymous() { de(this); } 这个this指的就是a这个对象,而使用href的方式时,由于是一个地址,这个this就无处可指了。 js代码 ----- function Highlight() { var tbody = document.getElementById("table").lastChild; var trs = tbody.getElementsByTagName("tr"); for(var i=1;i<trs.length;i++) { trs[i].onmouseover = function(){ this.style.backgroundColor = "red"; } trs[i].onmouseout = function(){ this.style.backgroundColor = "#fff"; } } }
4.行内文本框自适应td
js代码 ----- td.innerHTML = "<input type='text' style='border:none;width:100%;height:100%'>";
5.a除下划线
css代码 ----- <style type="text/css"> a{ text-decoration:none; } </style>
6.程序源代码
实现功能如下图:源代码
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <title> 编程挑战 </title> <meta http-equiv="Content-Type" content="text/html charset=utf=8"> <style type="text/css"> </style> <style type="text/css"> a{ text-decoration:none; } </style> <script type="text/javascript"> window.onload=function(){ Highlight(); } function addOne() { var tbody = document.getElementById("table").lastChild; var tr = document.createElement("tr"); var td = document.createElement("td"); td.innerHTML = "<input type='text' style='border:none;width:100%;height:100%'>"; tr.appendChild(td); td =document.createElement("td"); td.innerHTML = "<input type='text' style='border:none;width:100%;height:100%'>" tr.appendChild(td); td =document.createElement("td"); td.innerHTML = "<a href='javascript:;' onclick='deleteRow(this)'>删除</a>" tr.appendChild(td); tbody.appendChild(tr); Highlight(); } function deleteRow(obj) { var tbody = document.getElementById("table").lastChild; var tr = obj.parentNode.parentNode; tbody.removeChild(tr); } function Highlight(){ var tbody = document.getElementById("table").lastChild; var trs = tbody.getElementsByTagName("tr"); for(var i=1;i<trs.length;i++) { trs[i].onmouseover = function(){ this.style.backgroundColor = "red"; } trs[i].onmouseout = function(){ this.style.backgroundColor = "#fff"; } } } </script> </head> <body> <table border="1" width="50%" height="50%" id="table"> <tr> <th>学号</th> <th>姓名</th> <th>操作</th> </tr> <tr> <td>xh001</td> <td>王小明</td> <td><a href="javascript:;" onclick="deleteRow(this)">删除</a></td> </tr> <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="javascript:;" onclick="deleteRow(this)">删除</a></td> </tr> </table> <input type="button" value="添加一行" onclick="addOne()"> </body> </html>
相关文章推荐
- 编辑表格@tableView实现增加、删除、移动的操作
- CSS:当鼠标移动到表格的某一行时改变其背景颜色
- MFC在鼠标自定义的一定的范围内实现拖动窗口移动、错误:不支持尝试执行的操作、实现进度条颜色的渐变或者背景和前景色的改变
- jquery 实现表格内的tr与td,动态添加与删除. 以及序号增加与减少,大多用在Form里
- 使用javascript操作多选列表框,实现动态增加删除,左右移动,上下排序移动等功能。
- 实习小结四:如何使用jQuery实现鼠标移动改变Tab
- 【JAVASCRIPT】使用ztree树,实现右键增加,修改,删除节点。带有复选框。
- 当鼠标移动到表格的一行时这一行的背景颜色发生改变
- java实现控件的移动及使用鼠标改变控件大小
- 鼠标悬停在表格任意一个<td>上改变整行背景颜色并在第一个td显示象征性的某图片
- 实现鼠标移动表格行上,此行背景变色研究
- 使用JS实现简单的表格的增加删除全选反选以及高亮效果
- 实现 鼠标移动到表格的某行 该行换背景 ---myEclipse编写
- js 当鼠标移动到表格一行上时,该行背景颜色改变
- ASP.NET基础教程-DataGrid表格控件-利用ItemDataBound事件实现鼠标移动到控件的某一行时改变该行的背景色
- 使用js实现表格增加与删除
- JS实现可编辑的表格,双击可编辑,可以删除行和列,增加行和列,重置,导出表格,也可以上下移动元素
- 使用Javascript动态增加,删除表格
- 使用javascript DOM实现动态实现删除表格
- 利用DhtmlXtree实现展现,修改,添加,删除,移动功能一棵树上实现,iframe的单个滑动条显示,包含在iframe中树节点中文内容过长问题解决