參考答案,注釋自己總結了很多問題,如果遇到有問題的可以看看。
<!DOCTYPE html>
<html>
?<head>
? <title> new document </title>??
? <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>? ?
? <script type="text/javascript">?
? // 鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。
? ? ? window.onload = function(){
? ? ? ? ? //返回所有tr標簽節點的一數組o1
? ? ? ? ? var o1=document.getElementsByTagName("tr");
? ? ? ? ? //利用for循環使鼠標指針移入或移出事件來綁定每個tr標簽節點
? ? ? ? ? ? ?for(i=0;i<o1.length;i++)??
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ? bgover(o1[i]);
? ? ? ? ? ? ? ? ? ? bgout(o1[i]);
? ? ? ? ? ? ?}
? ? ? ? //設置鼠標指針移入指定的對象的事件函數 ,具體可以參考( https://www.w3school.com.cn/jsref/event_onmouseout.asp? ?)
? ? ?function bgover(obj){
? ? ?obj.onmouseover=function(){??
? ? ? obj.style.backgroundColor="#F2ACAC";
? ? ? ?}
? ? ? }
? ? ? //設置鼠標指針移出指定的對象的事件函數
function bgout(obj){
? ? ?obj.onmouseout=function(){??
? ? ? obj.style.backgroundColor="";
? ? ? ?}
? ? ? }
? ? ?
?
}
? ? ?
? ? ? // 編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點;
? ? ?function add(){
? ? ? ? //創建節點標簽1個tr 3個td
? ? ? ? ?var a0=document.createElement("tr");
? ? ? ? ?var a1=document.createElement("td");
? ? ? ? ?var a11=document.createElement("td");
? ? ? ? ? var a111=document.createElement("td");
? ? ? ? ?a1.innerHTML="xh00"+add2();? //對第一個td標簽做一些小改動,加入add2()函數
? ? ? ? ?a11.innerHTML="<input type=text />";//第二個td標簽內加入text目的是為了能輸入
? ? ? ?//這里好多人出現錯誤,就是在"javascript:;" 中把雙引號改為單引號就行了,而且onclick='del(this)' 最后也這樣用單引號,原因我就不說了。
? ? ? ? a111.innerHTML="<a href='javascript:;' onclick='del(this)' >刪除</a>";
? ? ? ? //以下是用appendChild把一個個的子節點“裝”進父親節點中
? ? ? ? ? a0.appendChild(a1);
? ? ? ? ? a0.appendChild(a11);
? ? ? ? ?a0.appendChild(a111);
? ? ? ? ? var table=document.getElementsByTagName("table");
? ? ? ? ? table[0].appendChild(a0);
? ? ? ? ? //這個add2()目的是在按了添加一行以后第3行或者以下“學號”可以跟行數對應起來這亞子。
? ? ? ? ?function add2(){
? ? ? ? ? ? ?var b1=document.getElementsByTagName("tr");
? ? ? ? ? ? ?var num=b1.length;
? ? ? ? ? ? ?return num;
? ? ? ? ?}
? ? ? ? ?//同樣添加了的行數的背景要實現鼠標移動改變背景
? ? ? ? ?window.onload();
? ? ?}
? ?
? ? ?
? ? ?// 創建刪除函數 具體可以參考(https://www.w3school.com.cn/jsref/dom_obj_event.asp)
? ? ?function del(obj){
? ? ? ? ?var d1=obj.parentNode.parentNode;
? ? ? ? d1.parentNode.removeChild(d1);
? ? ?}
? </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>
2019-09-24
謝謝分享