<script>
function  deleteRow(r)
{
var i=r.parentNode.parentNode.rowIndex;
document.getElementById("myTable").deleteRow(i);
}
</script><table id="myTable" border="1">
<tr>
  <td>Row 1</td>
  <td><input type="button" value="删除" onclick="deleteRow(this)"></td>
</tr>
<tr>
  <td>Row 2</td>
  <td><input type="button" value="删除" onclick="deleteRow(this)"></td>
</tr>
<tr>
  <td>Row 3</td>
  <td><input type="button" value="删除" onclick="deleteRow(this)"></td>
</tr>
</table>这里的var i=r.parentNode.parentNode.rowIndex; 为什么要接2个parentNode。这段代码是什么意思。

解决方案 »

  1.   

    <tr>
      <td>Row 1</td>
      <td><input type="button" value="删除" onclick="deleteRow(this)"></td>
    </tr>var i=r.parentNode.parentNode.rowIndex;第一个parentNode 是input 所在的td 第2个是 input 所在的tr是删除一排 tr 
      

  2.   

    var i=r.parentNode.parentNode.rowIndex;找到行号
    document.getElementById("myTable").deleteRow(i);删除该行
    r是控件 r.parentNode是td 
    r.parentNode.parentNode是tr
      

  3.   

    用JQuery 可以更快的
    直接
     $("#" + rowId).remove();
     RowId 是对应行的ID 
      

  4.   

    var i=r.parentNode.parentNode.rowIndex;
     上一级 上一级  是它的父节点