課程
/前端開發(fā)
/JavaScript
/JavaScript進(jìn)階篇
var tbody=document.getElementById("table").lastChild; ?tbody顯示未定義,求助
2017-07-27
源自:JavaScript進(jìn)階篇 9-22
正在回答
根據(jù)瀏覽器的解釋的順序, 當(dāng)它讀到getElementById("table")的時(shí)候,還不知道有table這個(gè)東西.?
所以你把script代碼段放到table以后, getElementById.....這行隨意放函數(shù)外面還是里面
風(fēng)到這里就是粘 提問者
X4tar 回復(fù) 風(fēng)到這里就是粘 提問者
風(fēng)到這里就是粘 提問者 回復(fù) X4tar
<!DOCTYPE?html> <html> <head> <meta?charset="UTF-8"> <title>制作一個(gè)表格,顯示班級(jí)的學(xué)生信息</title> <script?type="text/javascript"> window.onload?=?function(){ //鼠標(biāo)移動(dòng)改變背景,鼠標(biāo)移到不同行上時(shí)背景色改為色值為?#f2f2f2,移開鼠標(biāo)時(shí)則恢復(fù)為原背景色?#fff //提示:1.獲取表格的行,getElementsByTagName?。2.使用for進(jìn)行循環(huán),為每行添加事件及背景顏色設(shè)置。 var?trs=document.getElementsByTagName("tr"); for?(var?i?=?0;?i?<?trs.length;?i++)?{ trs[i].onmouseover=function(){ this.style.backgroundColor="pink"; }; trs[i].onmouseout=function(){ this.style.backgroundColor="#fff"; }; } } //?編寫一個(gè)函數(shù),供添加按鈕調(diào)用,動(dòng)態(tài)在表格的最后一行添加一行; //?使用createElement()、innerHTML、appendChild() function?addtr(){ var?stuNo=prompt("請(qǐng)輸入學(xué)號(hào):",""); var?name=prompt("請(qǐng)輸入姓名:",""); var?newtr=document.createElement("tr"); newtr.innerHTML='<td>'+stuNo+'</td>'+'<td>'+name+'</td>'+'<td>'+'<a?href="javascript:deleteRow();"?>刪除</a>'+'</td>';?//innerHTML可以解析HTML標(biāo)簽 var?tbody=document.getElementById("table").lastChild;//瀏覽器在table標(biāo)簽下默認(rèn)添加tbody節(jié)點(diǎn),為什么放到addtr()外面不好使? tbody.appendChild(newtr); } //??使用removeChild()創(chuàng)建刪除函數(shù),刪除當(dāng)前行 function?deleteRow(){ var?tbody=document.getElementById("table").lastChild; tbody.removeChild(this.parentNode.parentNode); } </script> </head> <body> <table?border="1"?width="50%"?id="table"> <tr> <th>學(xué)號(hào)</th> <th>姓名</th> <th>操作</th> </tr> <tr> <td>xh001</td> <td>王小明</td> <td><a?href="javascript:deleteRow();"?>刪除</a></td><!--在刪除按鈕上添加點(diǎn)擊事件??--> </tr> <tr> <td>xh002</td> <td>劉小芳</td> <td><a?href="javascript:deleteRow();"?>刪除</a></td><!--在刪除按鈕上添加點(diǎn)擊事件??--> </tr> </table> <input?type="button"?value="添加一行"?onclick="addtr()"?/><!--在添加按鈕上添加點(diǎn)擊事件??--> </body> </html>
麻煩把完整代碼貼出來
把var tbody=document.getElementById("table").lastChild; 放在了addtr()里了好使了,這是為什么?
舉報(bào)
本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動(dòng)態(tài)交互世界
1 回答var tbody = document.getElementById("table").lastChild;
1 回答var tbody = document.getElementById('table').lastChild;
3 回答看不太明白var tbody=document.getElementById("table").lastChild;
7 回答var tbody = document.getElementById('table').lastChild; 這行.lastchild什么意思
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-07-28
根據(jù)瀏覽器的解釋的順序, 當(dāng)它讀到getElementById("table")的時(shí)候,還不知道有table這個(gè)東西.?
所以你把script代碼段放到table以后, getElementById.....這行隨意放函數(shù)外面還是里面
2017-07-28
2017-07-28
麻煩把完整代碼貼出來
2017-07-27
把var tbody=document.getElementById("table").lastChild; 放在了addtr()里了好使了,這是為什么?