為什么新添加的行沒有鼠標經過事件
?
? ? window.onload=function(){
var tr = document.getElementsByTagName("tr");
for(var i=0;i<tr.length;i++){
colorchange(tr[i]);
}
function colorchange(obj){
?obj.onmouseover=function(){
?obj.style.backgroundColor="#f2f2f2";
?}
?obj.onmouseout=function(){
?obj.style.backgroundColor="#fff";
? } ?
?
}
?
}
? ? ? ? ? ? ?
? ? ? // 編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點;
? ? ?function add(){
? ? ? ? ?var objnode = document.getElementById("table");
? ? ? ? ?var newnode= document.createElement("tr");
? ? ? ? ?
? ? ? ? ?var newnode1=document.createElement("td");
? ? ? ? ?newnode1.innerHTML="xh003";
? ? ? ??
? ? ? ? ?var newnode2=document.createElement("td");
? ? ? ? ?newnode2.innerHTML="李曉紅";
? ? ? ? ?
? ? ? ? ?var newnode3=document.createElement("td");
? ? ? ? ?newnode3.innerHTML="<a href='javascript:;' onclick='del(this)' >刪除</a>";
objnode.appendChild(newnode);
newnode.appendChild(newnode1);
newnode.appendChild(newnode2);
? ? ? ? ?newnode.appendChild(newnode3);
? ? ? ? ?
var tr = document.getElementsByTagName("tr");
for(var i=0;i<tr.length;i++)
? ? ? ? ? ? {
colorchange(tr[i]);
}
? ? ? ? ?
? ? ?}
2022-03-25
主要是掌握不同事件的效果。親~答案是沒有問題的哦~您可能對if...elseif...else的邏輯運算沒有看清楚哦~可以仔細閱讀一下我們知識內容部分的講解哦~
2016-08-16
每次刪除跟增加行數之后,表格的行數都會發生變化,colorchange這個函數在行數發生變化時并沒有及時得到更新,它獲取到的數據依舊是之前的數據,解決方式:將所有與鼠標經過事件相關的數據再次封裝到一個新的函數里,窗口加載完畢時調用這個函數,在add()與del()函數里也對其進行調用。
2016-08-10
可能是函數執行順序問題你獲取了trs數組之后再添加不就沒有獲取新添加的 先調用?add()函數在獲取試試