JavaScript 原生DOM 实现Table的增加,删除,修改

一、需求

有一个订单表格,

1.点击按钮增加一条记录,

2.点击修改显示输入框进行修改

3.点击保存,保存修改内容

4.点击删除删除一行数据

二.代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
<style>
	thead td{
		background-color:#FFFF00;
		
		
	}
</style>
<script>
	
	window.onload=function(){
		var oTBody=document.getElementById("itbody");
		var oBtnAdd=document.getElementById("btnadd");
		registerEvent();//注册事件
		oBtnAdd.onclick=function(){
			//alert(oTBody);
			oTBody.innerHTML+="<tr><td class=\"tdOrder\">0001</td><td  class=\"tdName\">书籍</td><td class=\"sendName\">0001-1</td><td>2018-9-29 18:43:13</td><td>小张</td><td><button class=\"btndel\">删除</button><button class=\"btnupdate\" >修改</button><button class=\"btnsave\">保存</button></td></tr>";
			registerEvent();//注册事件
		}
		
		//oBtndel.parentElement.parentElement.remove(oBtndel.parentElement);
	}
function registerEvent(){
	var oBtndels=document.getElementsByClassName("btndel");
		for(i=0;i<oBtndels.length;i++)
		{
			oBtndels[i].onclick=function()
			{
				this.parentElement.parentElement.remove(this.parentElement);
			}
		}
   //-------
   var oBtnUpdate=document.getElementsByClassName("btnupdate");
   for(i=0;i<oBtnUpdate.length;i++)
   {
   	   oBtnUpdate[i].onclick=function()
   	   {
			//alert("修改");
			var oTdOrder=this.parentElement.parentElement.getElementsByClassName("tdOrder");
			oTdOrder[0].innerHTML="<input type=\"text\" class=\"iorder\"  value="+oTdOrder[0].innerText+" />";
			var otdName=this.parentElement.parentElement.getElementsByClassName("tdName");
		    otdName[0].innerHTML="<input type=\"text\" class=\"iname\"  value="+otdName[0].innerText+" />";
   	   }
   }
   var obtnsave=document.getElementsByClassName("btnsave");
   for(i=0;i<obtnsave.length;i++)
   {
   	  obtnsave[i].onclick=function()
   	  {
   	  	//更改订单号
   	  	var oTdOrders=  this.parentElement.parentElement.getElementsByClassName("tdOrder");
   	  	//alert(oTdOrders);
   	  	var ivalue=oTdOrders[0].getElementsByClassName("iorder")[0].value;
   	  	oTdOrders[0].removeChild(oTdOrders[0].getElementsByClassName("iorder")[0]);
   	  	oTdOrders[0].innerText=ivalue;
   	  	//更改商品名称
   	  	var oTdNames=  this.parentElement.parentElement.getElementsByClassName("tdName");
   	  	//alert(oTdOrders);
   	  	var iname=oTdNames[0].getElementsByClassName("iname")[0].value;
   	  	oTdNames[0].removeChild(oTdNames[0].getElementsByClassName("iname")[0]);
   	  	oTdNames[0].innerText=iname;
   	  }
   }
   
	
}
</script>
	</head>

<body>
	<button id="btnadd">添加</button><br />
		<table width="700">
			<thead>
				<td>订单号</td>
				<td>商品名称</td>
				<td>发货名称</td>
				<td>到达时间</td>
				<td>签收人</td>
				<td>详情</td>
			</thead>
			<tbody id="itbody">
				<tr>
					<td class="tdOrder">0001</td>
					<td class="tdName">书籍</td>
					<td class="sendName">0001-1</td>
					<td class="tdTime">2018-9-29 18:43:13</td>
					<td class="tdPName">小张</td>
					<td><button class="btndel">删除</button>
						<button class="btnupdate" >修改</button>
						<button class="btnsave">保存</button>
					</td>
				</tr>
			
			</tbody>
		</table>
	</body>
</html>

三、运行效果

JavaScript 原生DOM 实现Table的增加,删除,修改