有三個(gè)小問題,先謝過大神了
第一個(gè):為什么新添加的一行沒有改變背景顏色的效果?
window.onload?=?function(){代碼};
onload事件是在網(wǎng)頁加載完畢后立即執(zhí)行的吧!
怎樣做才能給新添加的一行添加效果呢?
第二個(gè):以下這兩個(gè)函數(shù)代碼可以整合嗎?
??????window.onload?=?function(){ ?????//?鼠標(biāo)移動(dòng)改變背景,可以通過給每行綁定鼠標(biāo)移上事件和鼠標(biāo)移除事件來改變所在行背景色。 ????var?alltr=document.getElementsByTagName('tr'); ????for(var?i=0;i<alltr.length;i++){ ????????????change(alltr[i]); ????????} ????}; ???? ????function?change(co){ ????????co.onmouseover=function(){ ????????????co.style.backgroundColor="#f2f2f2"; ????????} ????????co.onmouseout=function(){ ????????????co.style.backgroundColor="#fff"; ????????} ????}
我整合之后的結(jié)果是:
??????window.onload?=?function(){????? ?????//?鼠標(biāo)移動(dòng)改變背景,可以通過給每行綁定鼠標(biāo)移上事件和鼠標(biāo)移除事件來改變所在行背景色。 ????var?alltr=document.getElementsByTagName('tr'); ????for(var?i=0;i<alltr.length;i++){ ????????alltr[i].onmouseover=function(){ ????????????alltr[i].style.backgroundColor="#f2f2f2"; ????????} ????????alltr[i].onmouseout=function(){ ????????????alltr[i].style.backgroundColor="#fff"; ????????} ????} }
如果可以整合的話,我代碼哪錯(cuò)了?
第三個(gè):以下兩個(gè)刪除函數(shù)為什么傳入this參數(shù)的才有效果?
????function?Remove(x){ ????????var?gettr=x.parentNode.parentNode; ????????gettr.parentNode.removeChild(gettr); ????} ???? ????function?Del(){ ????????var?gett=this.parentNode.parentNode; ????????gett.parentNode.removeChild(gett); ????}
html綁定事件為:
???<tr> <td>xh001</td> <td>王小明</td> <td><a?href="javascript:Del();"?>刪除</a></td>???<!--在刪除按鈕上添加點(diǎn)擊事件??--> ???</tr> ???<tr> <td>xh002</td> <td>劉小芳</td> <td><a?href="javascript:;"?onclick="Remove(this);"?>刪除</a></td>???<!--在刪除按鈕上添加點(diǎn)擊事件??--> ???</tr>
2015-11-05
change(alltr[i])錯(cuò)了,應(yīng)改為change(this),this是指當(dāng)前操作的元素,而alltr[i]是一個(gè)不具體的東西
2015-10-20
你可以看一下其他人是怎么寫的
2015-10-19
第一個(gè)問題:因?yàn)槟阈录拥臎]有綁定鼠標(biāo)滑動(dòng)事件,添加后,你要重新遍歷一次才行
?第二個(gè)問題:可以,不過不是你那樣子整合(太惡心了),這樣子就好了,以后也方便調(diào)用。
第三那個(gè)問題:這樣字表示的是當(dāng)前的元素,不然的話根本不知道要?jiǎng)h除哪個(gè)。
最后面這個(gè)是我照著你的方法寫地,修改好了,可以成功運(yùn)行:
錯(cuò)誤的原因是,你沒有重新綁定滑動(dòng)事件