第一步: 首先,我們創建刪除函數,並在刪除按鈕上添加點擊事件;
提示: 使用removeChild()。
第二步: 編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點;
提示: 使用createElement()、innerHTML、appendChild()。
第三步: 更改鼠標移動改變背景則可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。
<!DOCTYPE html> <html> <head> <title> 原生JS對table進行操作 </title> <meta http-equiv="Content-Type" content="text/html; charset=gbk"/> <script type="text/javascript"> window.onload = function(){ var tr=document.getElementsByTagName("tr"); for(var i= 0;i<tr.length;i++) { bgcChange(tr[i]); } // 鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。 } function bgcChange(obj) { obj.onmouseover=function(){ obj.style.backgroundColor="#f2f2f2"; } obj.onmouseout=function(){ obj.style.backgroundColor="#fff"; } } // 編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點; var num=2; function add(){ num++; var tr=document.createElement("tr"); var xh=document.createElement("td"); var xm=document.createElement("td"); xh.innerHTML="xh00"+num; xm.innerHTML="第"+num+"學生"; var del=document.createElement("td"); del.innerHTML="<a href='javascript:;' onclick='del(this)' >刪除</a>"; var tab=document.getElementById("table"); tab.appendChild(tr); tr.appendChild(xh); tr.appendChild(xm); tr.appendChild(del); var tr = document.getElementsByTagName("tr"); for(var i= 0;i<tr.length;i++) { bgcChange(tr[i]); } } // 創建刪除函數 function del(obj) { var tr=obj.parentNode.parentNode; tr.parentNode.removeChild(tr); } </script> </head> <body> <table border="1" width="50%" id="table"> <tr> <th>學號</th> <th>姓名</th> <th>操作</th> </tr> <tr> <td>xh001</td> <td>王小明</td> <td><a href="javascript:;" onclick="del(this);">刪除</a></td> <!--在刪除按鈕上添加點擊事件 --> </tr> <tr> <td>xh002</td> <td>劉小芳</td> <td><a href="javascript:;" onclick="del(this);">刪除</a></td> <!--在刪除按鈕上添加點擊事件 --> </tr> </table> <input type="button" value="添加一行" onclick="add()" /> <!--在添加按鈕上添加點擊事件 --> </body> </html>
效果圖: