課程
/前端開發(fā)
/JavaScript
/JavaScript進(jìn)階篇
?給新增行加上事件函數(shù)即可
2014-12-21
源自:JavaScript進(jìn)階篇 9-22
正在回答
那是因為,變色效果寫在了onload事件里,而該事件是在頁面加載完成時觸發(fā)的,此時trs.length是2,也就是說之后及時再添加新行,也只有前兩列有顏色效果,若想要新加的行也有變色效果,需要在新添加一行時,給改行加上變色效果,即在add()函數(shù)的最后一行添加了change()函數(shù)代碼如下:
<!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(){ ?????????????????? ?????//?鼠標(biāo)移動改變背景,可以通過給每行綁定鼠標(biāo)移上事件和鼠標(biāo)移除事件來改變所在行背景色。 ????????var?tr=document.getElementsByTagName("tr"); ????????for(var?i=0;?i<tr.length;i++){ ????????????tr[i].onmouseover=function(){ ????????????????this.style.backgroundColor="#f2f2f2"; ????????????} ????????????tr[i].onmouseout=function(){ ????????????????this.style.backgroundColor="#fff"; ????????????} ????????} ????? ????? ?? ??} ?????function?change(){ ????????var?tr=document.getElementsByTagName("tr"); ????????tr[tr.length-1].onmouseover=function(){ ????????????this.style.backgroundColor="#f2f2f2"; ????????} ????????tr[tr.length-1].onmouseout=function(){ ????????????this.style.backgroundColor="#fff"; ????????}????? ?????}
?
??? ??????//?編寫一個函數(shù),供添加按鈕調(diào)用,動態(tài)在表格的最后一行添加子節(jié)點; ?????function?add(){ ?????????var?table=document.getElementById('table'); ?????????var?tr=document.createElement("tr"); ?????????var?td?=?document.createElement("td"); ?????????td.innerHTML?=?"<input?type='text'/>"; ?????????tr.appendChild(td); ??? ????????td?=?document.createElement("td");?? ????????td.innerHTML?=?"<input?type='text'/>"; ????????tr.appendChild(td); ??? ???????td?=?document.createElement("td");? ???????td.innerHTML?=?"<a?href='javascript:;'?onclick='del(this)'>刪除</a>"; ???????tr.appendChild(td);?? ?????????table.appendChild(tr); ?????????change(); ?????} ?????? ????? ?????//?創(chuàng)建刪除函數(shù) ?????function?del(obj){ ????????var?tr?=?obj.parentNode.parentNode; ????????tr.parentNode.removeChild(tr); ?????} ??</script>? ?</head>? ?<body>? ????<table?border="1"?width="50%"?id="table"> ????<tr> ??<th>學(xué)號</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>
舉報
本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動態(tài)交互世界
1 回答可參考的答案
2 回答參考答案哦
2 回答為什么我新加入的行鼠標(biāo)移上去沒有變色的效果?
2 回答代碼:參考答案
4 回答參考答案疑問
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-01-09
那是因為,變色效果寫在了onload事件里,而該事件是在頁面加載完成時觸發(fā)的,此時trs.length是2,也就是說之后及時再添加新行,也只有前兩列有顏色效果,若想要新加的行也有變色效果,需要在新添加一行時,給改行加上變色效果,即在add()函數(shù)的最后一行添加了change()函數(shù)代碼如下:
?
?