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

删除的问题

function shan(r)

     {

         var table=document.getElementById("table").lastChild;

         var tr=r.parentNode.parentNode;

         table.removeChild(tr);

     }

这样只能删除未添加之前的最后一行

function shan(r)

     {

         var table=document.getElementById("table");

         var tr=r.parentNode.parentNode.parentNode;

         table.removeChild(tr);

     }

这样又只能删掉自己添加的行

function shan(r)

     {

         var table=document.getElementById("table");

         var tr=r.parentNode.parentNode;

         table.removeChild(tr);

     }

这样整个表都删掉了

请问大神们到底怎么才能正常的操作删除啊

提问者:慕村4487855 2019-03-21 18:29

个回答

  • qq_慕粉7082047
    2019-05-15 19:45:16

    function deltr(obj){

             var fa=obj.parentNode.parentNode;

            fa.parentNode.removeChild(fa);                              //fa.remove(fa) 

         }


  • 慕仔5118272
    2019-03-22 09:43:13

    我测试这三个函数的结果和你不一样。table在chrome中会自动加上tbody标签。所以对于table标签来说,只有一个tbody节点。所以你写的第三个函数不会删掉东西,因为table看不到tr。同理,第二个函数会把整个table删掉,是由于var tr=r.parentNode.parentNode.parentNode其实指的是整个table,自己打开网页结构看看。第一个函数是正确的,通过tbody删掉指定的行。不知道这能不能解决你的问题