有幾個問題,求解答?。?!
var tbody=document.getElementById("table").lastChild;放在addtr()函數外面為什么會報錯?
IE8下添加一行,樣式跟別的瀏覽器完全不一樣,怎么解決?
使用removeChild()創建刪除函數,沒有作用?看別人的問題這樣寫是可以的?
var tbody=document.getElementById("table").lastChild;放在addtr()函數外面為什么會報錯?
IE8下添加一行,樣式跟別的瀏覽器完全不一樣,怎么解決?
使用removeChild()創建刪除函數,沒有作用?看別人的問題這樣寫是可以的?
2017-07-27
同理...
<!DOCTYPE?html> <html> <head> <meta?charset="UTF-8"> <title>制作一個表格,顯示班級的學生信息</title> <script?type="text/javascript"> window.onload?=?function(){ //鼠標移動改變背景,鼠標移到不同行上時背景色改為色值為?#f2f2f2,移開鼠標時則恢復為原背景色?#fff //提示:1.獲取表格的行,getElementsByTagName?。2.使用for進行循環,為每行添加事件及背景顏色設置。 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"; }; } } //?編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加一行; //?使用createElement()、innerHTML、appendChild() function?addtr(){ var?stuNo=prompt("請輸入學號:",""); var?name=prompt("請輸入姓名:",""); var?newtr=document.createElement("tr"); newtr.innerHTML='<td>'+stuNo+'</td>'+'<td>'+name+'</td>'+'<td>'+'<a?href="javascript:deleteRow();"?>刪除</a>'+'</td>';?//innerHTML可以解析HTML標簽 var?tbody=document.getElementById("table").lastChild;//瀏覽器在table標簽下默認添加tbody節點,為什么放到addtr()外面不好使? tbody.appendChild(newtr); } //??使用removeChild()創建刪除函數,刪除當前行 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>學號</th> <th>姓名</th> <th>操作</th> </tr> <tr> <td>xh001</td> <td>王小明</td> <td><a?href="javascript:deleteRow();"?>刪除</a></td><!--在刪除按鈕上添加點擊事件??--> </tr> <tr> <td>xh002</td> <td>劉小芳</td> <td><a?href="javascript:deleteRow();"?>刪除</a></td><!--在刪除按鈕上添加點擊事件??--> </tr> </table> <input?type="button"?value="添加一行"?onclick="addtr()"?/><!--在添加按鈕上添加點擊事件??--> </body> </html>
是不是吧代碼貼出來看看?
舉報
2017-08-02
第二個ie678是存在兼容問題的,不管是默認樣式也好,代碼也好,差別都很大,正常項目我會引入reset包重置默認樣式或者自定義一個樣式不用系統本身自帶的。
第三個,關鍵字和保留字是不能作為函數名和變量名的,即使現在不出問題以后也肯定會出問題,最好命名一些有含義的命名,同時最好遵守駝峰命名法