JS给table动态添加行和列

效果图:

input为动态添加 

<botton onclick="AddTableCell()">添加一列</botton>

<table id="tableWeight">
 <thead>
   <tr>
	 <th>员工号</th>
	 <th>姓名</th>
	 <th>地区</th>
	 <th>角色</th>
	</tr>
	<tr>
	  <td>
	  2</td>
	  <td>
	  3</td>
	  <td>
	  4</td>
	  <td>
	  5</td>
  </tr>
 </thead>
</table>    

<button id="addTable" onclick="AddTableRow()">添加一行</button>  


<script type="text/javascript">
   //动态添加行
   function AddTableRow()
   {

	   var Table = document.getElementById("tableWeight"); //取得自定义的表对象
	   
	    var rows = Table.rows.length;
	   
	   NewRow = Table.insertRow(); //添加行
	  
	   var cellLength=Table.rows[0].cells.length;
	   console.log(cellLength)
	   for(var i=0; i<cellLength;i++){
		  var NewCell=NewRow.insertCell();
		   //NewCell.innerHTML="<input id='r"+(rows+1)+"t"+(i+1)+"' value='22' style='width:30px;'/>";
		   NewCell.innerHTML="<input id='gradeR"+(rows+1)+"t"+(i+1)+"' value='' style='width:30px;' type='text' class='input-large' placeholder='等级'/>&nbsp;<input id='weightR"+(rows+1)+"t"+(i+1)+"' value='' style='width:30px;' type='text' class='input-large' placeholder='权重'/>";
	     }
	 }
   
   //动态添加列
   function AddTableCell(){
	    var Table = document.getElementById("tableWeight");  //取得自定义的表对象
	   
	    var rowLength = Table.rows.length;  //行數量

	    var cellLength=Table.rows[0].cells.length; //查找單元格数量

	    for(var i=0;i<rowLength;i++){
	    	//第一行添加一个输入框
	    	if(i==0){
	    		var NewCell= Table.rows[i].insertCell(cellLength);
		    	NewCell.innerHTML="<input id='r"+(i+1)+"t"+(cellLength+1)+"' value='' style='width:60px;'  title='横向模拟等级'  type='text' class='input-large' placeholder='模拟等级'/>";
	    	}else{
	    		//添加2个输入框
	    		var NewCell= Table.rows[i].insertCell(cellLength);
		    	NewCell.innerHTML="<input id='gradeR"+(i+1)+"t"+(cellLength+1)+"' value=''  type='text' class='input-large' style='width:30px;' placeholder='等级'/>&nbsp;<input id='weightR"+(i+1)+"t"+(cellLength+1)+"' value='' style='width:30px;'  type='text' class='input-large' placeholder='权重'/>";
	    	}
	    	
	    }
	    
   }
   //删除一行
   function DelTableRow(){
	   
	   var Table = document.getElementById("tableWeight");  //取得自定义的表对象
	   
	   var rowLength = Table.rows.length;  //行數量
	   
	   if(rowLength>2){ 
	      Table.deleteRow(rowLength-1);
	   }else{
		   alert('不能全部删除!');
	   }
   }
   //删除一列
   function DelTableCell(){
      
	   var Table = document.getElementById("tableWeight");  //取得自定义的表对象
	   
	   var rowLength = Table.rows.length;  //行數量
	   
	   var cellLength=Table.rows[0].cells.length; //查找單元格数量
	   if(cellLength>1){
	     for(var i=0;i<rowLength;i++){
		   Table.rows[i].deleteCell(cellLength-1);
	     }
	   }else{
		   alert('不能全部删除!');
	   }
	  // if(rowLength>2){ 
	      //Table.rows[0].deleteCell(2);
	   //}else{
		 // alert('不能全部删除!');
	   //}
   }
</script>

动态添加表格行和列可以使用 JavaScript 或 jQuery。 添加: 使用 JavaScript: ```html <table id="myTable"> <tr> <th>姓名</th> <th>年龄</th> </tr> <tr> <td>小明</td> <td>20</td> </tr> </table> <button onclick="addRow()">添加</button> <script> function addRow() { var table = document.getElementById("myTable"); var row = table.insertRow(); // 插入新 var cell1 = row.insertCell(0); // 插入单元格 var cell2 = row.insertCell(1); cell1.innerHTML = "新姓名"; // 设置单元格内容 cell2.innerHTML = "新年龄"; } </script> ``` 使用 jQuery: ```html <table id="myTable"> <tr> <th>姓名</th> <th>年龄</th> </tr> <tr> <td>小明</td> <td>20</td> </tr> </table> <button onclick="addRow()">添加</button> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script> function addRow() { $("#myTable").append("<tr><td>新姓名</td><td>新年龄</td></tr>"); // 添加 } </script> ``` 添加: 使用 JavaScript: ```html <table id="myTable"> <tr> <th>姓名</th> <th>年龄</th> </tr> <tr> <td>小明</td> <td>20</td> </tr> </table> <button onclick="addColumn()">添加</button> <script> function addColumn() { var table = document.getElementById("myTable"); var header = table.getElementsByTagName("th"); // 获取表头 for (var i = 0; i < header.length; i++) { var newCell = header[i].insertCell(-1); // 在表头插入单元格 newCell.innerHTML = "新"; // 设置单元格内容 } var row = table.getElementsByTagName("tr"); // 获取表格所有 for (var i = 0; i < row.length; i++) { var newCell = row[i].insertCell(-1); // 在每末尾插入单元格 newCell.innerHTML = "新单元格"; // 设置单元格内容 } } </script> ``` 使用 jQuery: ```html <table id="myTable"> <tr> <th>姓名</th> <th>年龄</th> </tr> <tr> <td>小明</td> <td>20</td> </tr> </table> <button onclick="addColumn()">添加</button> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script> function addColumn() { $("#myTable tr").each(function() { $(this).append("<td>新单元格</td>"); // 在每末尾插入单元格 }); $("#myTable th:last-child").after("<th>新</th>"); // 在表头插入新 } </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值