var tr = obj.parentNode.parentNode;


<!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>


隔嚟小张
浏览 1878回答 1
1回答

慕运维2284031

调用删除方法时 传入的是a标签 如果直接用removechild删除的是a标签 此时还保留其他的td 获取a的父级td 再获取td的父级tr 此时删除就把整行删除了
打开App,查看更多内容
随时随地看视频慕课网APP