9-22練習(xí)題代碼中刪除的問題函數(shù)和正確函數(shù)的結(jié)果為什會有區(qū)別,問題在哪
<!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(){
? ? ? ? ? ? ? ? ??
? ? ?var tr=document.getElementsByTagName("tr");
? ? ? ? ? for(var i=0;i<tr.length; i++)
? ? ? ? ? {
? ? ? ? ? ? ? tr[i].style.backgroundColor="#fff";
? ? ? ??
? ? ? ? ? ? ? bgChange(tr[i]);//不能直接把bgchange放到這,因為如果放這,那執(zhí)行bg的只是最后一項tr[tr.lengh-1]
? ? ? ? ? ?
? ? ? ? ? } ?
? ? ? ??
? ? ? }?
? ? ?// 鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。
? ? ? ?function bgChange(obj){
? ? ? ? ? ?obj.onmouseover=function(){
? ? ? ? ? ? obj.style.backgroundColor="#f2f2f2";
? ? ? ? }
? ? ? ? obj.onmouseout=function(){
? ? ? ? ? ? obj.style.backgroundColor="#fff";
? ? ? ? }
? ? ? ?} ? ? ? ?
? ? ?
? ? ? // 編寫一個函數(shù),供添加按鈕調(diào)用,動態(tài)在表格的最后一行添加子節(jié)點;
? ? ?
? ? ?function add(){
? ? ? ? ?var tab=document.getElementById("table");
? ? ? ? ?var tr=document.getElementsByTagName("tr");
? ? ? ? ?var tr1=document.createElement("tr");
? ? ? ? ?var td1=document.createElement("td");
? ? ? ? ?var td2=document.createElement("td");
? ? ? ? ?var td3=document.createElement("td");
? ? ? ? ?var n=0;
? ? ? ? ?for(var i=0;i<tr.length;){i++}
? ? ? ? ?n=n+i;
? ? ? ? ?td1.innerHTML="xh00"+n;
? ? ? ? ?td2.innerHTML="李飛飛";
? ? ? ? ?td3.innerHTML="<a href='javascript:;'onclick='delet(this)'>刪除</a>";
? ? ? ? ?tr1.appendChild(td1);
? ? ? ? ?tr1.appendChild(td2);
? ? ? ? ?tr1.appendChild(td3);
? ? ? ? ?table.appendChild(tr1);
? ? ? ? ?bgChange(tr1);
? ? ?}
? ? ?
? ?
? ? ?
? ? ?// 創(chuàng)建刪除函數(shù)
? ? ?
? ? ?function delet(obj){
? ? ? ? ?var tab=document.getElementById("table");
? ? ? ? ?var tr=obj.parentNode.parentNode;
? ? ? ? ?tab.removeChild(tr);
? ? ? ? ?
? ? ? ? ?
? ? ?}
//問題函數(shù)
/*
? function delet(obj)
? ? ?{
? ? ? ? ?var tr=obj.parentNode.parentNode;
? ? ? ? ?tr.parentNode.removeChild(tr);
? ? ?}
*/ ?//正確函數(shù)
? </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="delet(this)" >刪除</a></td> ? <!--在刪除按鈕上添加點擊事件 ?-->
? </tr>
? <tr>
<td>xh002</td>
<td>劉小芳</td>
<td><a href="javascript:;" onclick="delet(this)">刪除</a></td> ? <!--在刪除按鈕上添加點擊事件 ?-->
? </tr> ?
? </table>
? <input type="button" value="添加一行" onclick="add()" /> ? <!--在添加按鈕上添加點擊事件 ?-->
?</body>
</html>
2017-05-28
這一點可以看出table標簽中一個tr子節(jié)點的,但是代碼里面看很明顯是正常的,打開chrome的控制臺,你會發(fā)現(xiàn)瀏覽器默認在你的tr標簽外加上了一個<tbody>標簽