求大声解答一下这个问题 十分感谢

来源:9-22 编程练习

Demon丶Y

2016-07-14 10:38

function idelete(obj){        var itable=document.getElementById("table");        var aa=obj.parentNode.parentNode;        itable.removeChild(aa);     } 为什么这个函数不能删除该行   而必须要在var itable=document.getElementById("table")后面加一个.lastChild才行    求大神解答

写回答 关注

2回答

  • Frank_Yuan
    2016-07-16 19:46:45

    解释下楼上说的,table的两个节点 第一个是文本节点#text  第二个是元素节点tbody。.lastChild 就是获取的tbody  这样就能去removeChild(aa)了。   再说一下楼主的问题: itable的返回的是 table,而aa 返回是tr

    这个程序的obj 传的那个 <a> 他的父亲父亲节点是tr    table下没有这个节点,所以就不能删除喽。哦哈哈

    weibo_

    就是说<a>标签里的文本删除在这里就不能看成文本节点了,这样才能使得obj.parentNode.parentNode是一个tr标签,而不是td标签,还有table标签都默认有tbody标签

    2016-07-18 15:24:38

    共 1 条回复 >

  • qq_啥米等于浮云_0
    2016-07-14 10:53:28

    table其实默认的节点就两个一个空节点  一个就是tbody   所有的tr都是在tbody下面的所以才获取最后一个子节点

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题