为了账号安全,请及时绑定邮箱和手机立即绑定

请问为什么说没有parentNode这个属性,在 创建删除函数中

请问为什么说没有parentNode这个属性,在 创建删除函数中

呆呆呆 2017-06-23 15:19:16
<!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++){            changeBackground(tr[i]);          } }  function changeBackground(obj){         obj.onmouseover=function(){             obj.style.background="#f2f2f2";         }         obj.onmouseout = function(){             obj.style.background="#fff";         }     }      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;      var num =2;    function add(){        num++;         var tab = document.getElementById("table");        var tr = document.createElement("tr");        var th = document.createElement("td");        var tx = document.createElement("td");        var del = document.createElement("td");        th.innerHTML = "x00"+num;        tx.innerHTML = "你猜";        del.innerHTML= "<a href=\"javascript:del(this)\">删除</a>";        tab.appendChild(tr);        tr.appendChild(th);        tr.appendChild(tx);        tr.appendChild(del);               var newTr = document.getElementsByTagName("tr");        for(var i = 0; i< newTr.length;i++ ){           changeBackground(newTr[i]);         };    }          // 创建删除函数     function del(obj){        var tr=obj.parentNode.parentNode;         tr.parentNode.removeChild(tr);     }  </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:del(this);" >删除</a></td>   <!--在删除按钮上添加点击事件  -->   </tr>   <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="javascript:del(this);" >删除</a></td>   </tr>     </table>   <input type="button" value="添加一行"  onclick="add()"/>   <!--在添加按钮上添加点击事件  --> </body></html>
查看完整描述

1 回答

已采纳
?
李晓健

TA贡献1036条经验 获得超461个赞

<td><a onclick="del(this)" href="javascript:void(0);" >删除</a></td>
<td><a onclick="del(this)" href="javascript:void(0);" >删除</a></td>

这里不可以通过 href去调用删除方法,否则他的 this 并不是指向a的本身,他是指向window的。


如果你的问题已解决,请记得采纳答案!

查看完整回答
反对 回复 2017-06-23
  • 1 回答
  • 0 关注
  • 1484 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信