为了账号安全,请及时绑定邮箱和手机立即绑定

关于父子节点的问题

 function del(obj)

     {

        var tr=obj.parentNode.parentNode;

         tr.parentNode.removeChild(tr);

     }

请问在这个del函数中为什么删除的子节点就是我想删的那一行tr节点,而不是其他行tr节点?


正在回答

1 回答

因为调用这个del(obj)方法传参是this,this就代表这个节点

this传过来,就相当于:

var tr=this.parentNode.parentNode;

0 回复 有任何疑惑可以回复我~
#1

gackey

然后这个tr就被确定了……
2016-11-24 回复 有任何疑惑可以回复我~
#2

retisan 提问者 回复 gackey

我想删除的tr的父节点是table,但是table不止一个tr子节点,为什么removeChild(tr)删除的就是this所在的那个tr节点?
2016-11-24 回复 有任何疑惑可以回复我~
#3

gackey 回复 retisan 提问者

这个tr不代表<tr>,就是一个变量,是this指代的标签的父节点的父节点,所以就确认了是哪个节点。然后在调用这个tr的父节点把他自己删除
2016-11-24 回复 有任何疑惑可以回复我~
#4

retisan 提问者 回复 gackey

感谢指正O(∩_∩)O~~
2016-11-24 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       467398    人
  • 解答问题       21877    个

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

进入课程

关于父子节点的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信