下劃線的部分為什么運行不出來
?var a=document.getElementsByTagName("tr");
? ? ? ? ?for(var i=0;i<a.length;i++){
? ? ? ? ? ? ?bgChg(a[i]);
? ? ? ? ?}
function bgChg(b){
? ? ? ? ? ? b.onmouseover=function (){
? ? ? ? ? ? ? ? b.style.backgroundColor="#f2f2f2";
? ? ? ? ? ? }
? ? ? ? ? ? b.onmouseout=function(){
? ? ? ? ? ? ? ? b.style.backgroundColor="#fff";
? ? ? ? ? ? }
}
? ? ?
?
}
? ? ?
? ? ? // 編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點;
? ? ? function add(){
? ? ? ? ?var table=document.getElementById("table");?
? ? ? ? ?var tr=document.createElement("tr");
? ? ? ? ?var td1=document.createElement("td");
? ? ? ? ?var td2=document.createElement("td");
? ? ? ? ?var td3=document.createElement("td");
? ? ? ? ?var xh=prompt("學號");
? ? ? ? ?var xm=prompt("姓名");
? ? ? ? ?td1.innerHTML=xh;
? ? ? ? ?td2.innerHTML=xm;
? ? ? ? ?td3.innerHTML="<a href='javascript:delete(this);' >刪除</a>";
? ? ? ? ?tr.appendChild(td1);
? ? ? ? ?tr.appendChild(td2);
? ? ? ? ?tr.appendChild(td3);
? ? ? ? ?table.lastChild.appendChild(tr);
? ? ? ? ?bgChg(table.lastChild.appendChild(tr));
? ? ? }
? ? ?
2016-10-23
同學, 經測試你的代碼, 你說的那個畫線的地方, 是能夠成功運行的. 新添加的行, 自動就附帶上了切換背景顏色的功能.
推測你說的意思, 是原本初始就存在的那兩行, 反而沒有變色的效果?? 因為沒有看到完整代碼. 不知道你把JS代碼寫在哪里. 寫在頭部的話, 一個tr也獲取不到, 所以不會變色. 把JS代碼寫在文件的底部, 就可以實現了.
小問題是:function bgChg(b)這個函數結束后, 多了一個后括號. 只要把這個后括號去掉, 同時把JS代碼移到底部, 就沒有問題.