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

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

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

正在回答

2 回答

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

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

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

weibo_

就是说<a>标签里的文本删除在这里就不能看成文本节点了,这样才能使得obj.parentNode.parentNode是一个tr标签,而不是td标签,还有table标签都默认有tbody标签
2016-07-18 回复 有任何疑惑可以回复我~

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

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

举报

0/150
提交
取消

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

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