<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>

以下是使用javascript对表格的添加行,删除行,进行操作..

具体代码如下:

style样式代码:

<style>
.displayStyle{
background-color:00FFFF;
} .hideStyle{
background-color:#FFFFF;
} .onClickStyle{
background-color:00FF00;
} a{
color:red;
} a:hover{
color:green;
}
</style>

javascript代码:

<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;

最新文章

  1. 设计模式(三):“花瓶+鲜花”中的装饰者模式(Decorator Pattern)
  2. JSTL标签库之核心标签
  3. JavaWeb---总结(一)JavaWeb开发入门
  4. spring 干嘛用的,记录。以后用多了再补充
  5. Internship-ZOJ2532(网络流求割边)
  6. 关于 app测试工具
  7. JavaScript操作DOM对象
  8. 最简单的视音频播放示例9:SDL2播放PCM
  9. Java对数组对象进行排序
  10. uva 11475 - Extend to Palindrome(KMP)
  11. 使用PHP顶替JS有趣DOM
  12. python--day4--迭代器、生成器
  13. 基于HTML5快速搭建TP-LINK电信拓扑设备面板
  14. jquery 三级关联选择效果
  15. OpenGL下多个sampler在shader中的使用
  16. python全栈开发day77-博客主页
  17. 工作中经常用到github上优秀、实用、轻量级、无依赖的插件和库
  18. 如何保留自己对eclipse的个性化设置,在其他工程中使用
  19. Yii2 Gridview查询关联筛选
  20. 【深度学习】BP反向传播算法Python简单实现

热门文章

  1. pastedeploy
  2. angular2或angular4中使用ckplayer播放rtmp和m3u8视频直播流
  3. 大专生自学web前端到找到工作的前前后后
  4. Hive(6)-DML数据操作
  5. 转载:C语言指针使用的注意事项
  6. linux signal函数遇到的问题
  7. MapWinGIS使用
  8. HBase 数据的多版本特性潜在的意外
  9. libevent学习七(bufferevent)
  10. Weka java.lang.reflect.InvocationTargetException