关于删除函数,为什么getElementById的不行,三个parentNode的就可以

来源:9-22 编程练习

_move_on_

2020-12-17 11:26

    function deleteTr(obj){

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

        //  var tableobj = obj.parentNode.parentNode.parentNode;

         var ppobj = obj.parentNode.parentNode;

         tableobj.removeChild(ppobj);

}

注释的写法函数就可执行,注释上面的getElementById这个函数就运行不了…

写回答 关注

1回答

  • 炳烛之华
    2021-01-11 17:52:32

    因为在代码解析后,table下面会有一级tbody元素标签,所以a标签的三个parentNode是指这个tbody,而不是table,通过以下代码,你会发现真实的残酷

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

    var oG = obj.parentNode.parentNode.parentNode;

    alert(oG.nodeName);   //TBODY

    alert(table.nodeName); //TABLE


JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题