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

var tr = obj.parentNode.parentNode;

var tr = obj.parentNode.parentNode;

隔嚟小张 2017-05-24 18:36:39
<!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(){ Highlight(); }   function addOne(obj){     var tbody = document.getElementById('table').lastChild;   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='deleteRow(this)'>删除</a>"; tr.appendChild(td);      tbody.appendChild(tr);   Highlight();    } function deleteRow(obj){    var tbody = document.getElementById('table').lastChild;   var tr = obj.parentNode.parentNode; ///////////////这里 为什么要这样写呢? 看不懂 tbody.removeChild(tr); } function Highlight(){ var tbody = document.getElementById('table').lastChild; trs = tbody.getElementsByTagName('tr'); //获取表格的 每行   alert(trs.length); for(var i =1;i<trs.length;i++){ trs[i].onmouseover = function(){ this.style.backgroundColor ="#f2f2f2"; }  trs[i].onmouseout = function(){ this.style.backgroundColor ="#fff"; }  }   }  </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:;" onclick="deleteRow(this)">删除</a></td>   </tr>   <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="javascript:;" onclick="deleteRow(this)">删除</a></td>   </tr>     </table>   <input type="button" value="添加一行" onclick="addOne()" /> </body></html>
查看完整描述

1 回答

?
慕运维2284031

TA贡献11条经验 获得超2个赞

调用删除方法时 传入的是a标签 如果直接用removechild删除的是a标签 此时还保留其他的td 获取a的父级td 再获取td的父级tr 此时删除就把整行删除了
查看完整回答
反对 回复 2017-05-25
  • 隔嚟小张
    隔嚟小张
    意思就是说 参数obj代表的其实是 a 标签咯?
  • 慕运维2284031
    慕运维2284031
    是的 this这块还是比较容易搞混的 刚开始学的话 记住this是代表调用函数的对象就可以 在后面学定时器和构造函数时可以认真学习this这个知识点
  • 1 回答
  • 0 关注
  • 1826 浏览
慕课专栏
更多

添加回答

举报

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