var tr = obj.parentNode.parentNode; tr.parentNode.removeChild(tr);是什么意思?

来源:9-22 编程练习

LittleBoy

2015-04-15 11:06

我不明白代码里面的var tr = obj.parentNode.parentNode; tr.parentNode.removeChild(tr);是什么意思?obj的父节点的父节点不就是table标签了么,table标签的父节点是body,tr.parentNode.removeChild(tr);不就是等于body.removeChild(tr);了么?可要删除的tr标签,是在table标签下啊。

写回答 关注

7回答

  • 康振宁
    2015-04-15 15:29:17
    已采纳

    第一个问题:  tr.parentNode.removeChild(tr);这个就是获取tr的父元素然后删除tr元素

    tabale的子节点结构是text和tbody,而tr在tbody中,td则在tr中

    爱拉舞imo...

    你好,关于这个程序,里面的背景色变换、删除两个函数都用到了 obj ,请问: obj 是哪来的?如何传进去的?执行流程搞不明白。

    2016-11-22 16:58:33

    共 2 条回复 >

  • 緣来
    2019-07-26 21:06:26
    var table=document.getElementById("table");
    var tr=obj.parentNode.parentNode;
    //table.removeChild(tr);//所有行都被删除
    tr.parentNode.removeChild(tr);//只删除当前行
    为什么会全部删除了你=呢,tr.parentNode不是table吗


  • 慕神7783645
    2017-03-09 18:12:34

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

    所以this是指a标签

  • 陪你Sunset
    2016-09-06 14:26:04

    我试着把obj输出,用document.write(obj.nodeName);结果显示是A标签,那么A标签父节点是td,再父节点是tr。我也是有点不明白为什么this会指向的是A标签,有点懵

    Little...

    他上面还套着一层呢。不明白的情况下,把他们的层级关系画出来看看,就明了很多了

    2016-09-07 21:04:46

    共 1 条回复 >

  • 阿忠01
    2016-04-15 23:49:51

    这个A标签,把我弄的,一愣一愣的。谢谢大神的点拨

    qwer12...

    所以这个 obj指的是 a标签 ?

    2016-07-03 13:40:33

    共 1 条回复 >

  • 懒懒萌萌的
    2015-12-03 16:42:17

    嗯嗯,我刚开始也是忽略了一个标签,加油!

  • 懒懒萌萌的
    2015-12-02 11:36:53

    我也跟你一样刚开始不明白这个问题,但是刚才想明白了,obj是就是函数调用时的this,而this指的是<a>,不是<td>,所以obj.parentNode.parentNode是<tr>。然后tr.parentNode是<table>,然后再removeChild(tr)就是<table>移除<tr>,这个<tr>是前面得到的obj.parentNode.parentNode


    Little...

    不是不明白this的作用。而是我忽略了一个标签,所以造成了困扰~

    2015-12-03 12:16:12

    共 1 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题