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

访问父节点问题

function del(obj)

     {

         var tr=obj.parentNode.parentNode;

         tr.parentNode.removeChild(tr);

     }

为什么这里有这么多个父节点?回到table不是两个父节点就够了吗

提问者:不学习要被打 2016-09-28 20:45

个回答

  • QuincyHan
    2016-10-03 12:43:48
    已采纳

    不是因为tbody   obj参数在onclick中赋值为this,指的是<a></a>节点,obj.parentNode是a节点所在的td节点,obj.parentNode.parentNode是td节点所在的tr节点,tr.parentNode是指tr所在的table节点,并没有tbody

    容易产生错误的地方是this到底指的谁。this是在onclick属性中出现的,所以this指onclick属性的所有者,也就是a节点。

  • 不学习要被打
    2016-09-28 21:11:02

    我好像知道了 是因为table会默认加一个子节点tbody,在tbody之下再有子节点tr,td.