问答详情
源自:9-22 编程练习

function deleteRow()

 function deleteRow(){

   var tbody = document.getElementById('table').lastChild;  

var tr = tbody.lastChild;

tbody.removeChild(tr);

为什么这样子什么都无法删除

提问者:sysjava 2016-05-24 22:44

个回答

  • wabbybob
    2016-05-25 12:03:46
    已采纳

    首先针对你这个代码,是可以删除的,但是因为td标签后面的空格也会是子元素,经测试alert(tr.nodeName)的处的是 #text;所以你根据tbody最后子元素得到的tr并不是tr标签。而是td后面的空格,或者是td标签,你可以试着多点击几次,可以删除。但是因为你删除的是最后的子元素,所以不管你点击第几行的删除,都会从末尾开始删。而且删除一行后,就无法继续删除了。

    附上正确代码 仅供参考:

    首先在表格中删除里面加上删除函数的调用 ,增加函数里也要记得加上这个点击调用函数属性

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

    删除函数的代码是 

    function del(td){
    var tr = td.parentNode.parentNode;
    tr.parentNode.removeChild(tr);
    }