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

删除函数的编写

删除函数哪里不是很理解,同学能解释一下吗:function delectTr(obj){ var delectrow = document.getElementById("message").lastChild; var tr = obj.parentNode.parentNode; delectrow.removeChild(tr); } 关于这个函数(obj),调用是“this”这里是怎么理解的呢

正在回答

3 回答

this是JavaScript中的机制,就是某一个对象调用这个方法,这个方法中的this就指向这个对象,所以,这个this是可以替换成之前的对象的

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

慕仔0737733 提问者

那个function()里面写着是什么意思的呢,我有些不写他也能出来,但是这个出不来
2017-05-05 回复 有任何疑惑可以回复我~
#2

慕勒7123956 回复 慕仔0737733 提问者

你描述的具体一点,哪个不写出来,也能删除
2017-05-05 回复 有任何疑惑可以回复我~
#3

慕勒7123956 回复 慕勒7123956

如果只是为了删除这一行的话,你可以试试 这个 var tr=obj.parentNode.parentNode; tr.parentNode.removeChild(tr);
2017-05-05 回复 有任何疑惑可以回复我~
#4

慕仔0737733 提问者 回复 慕勒7123956

function delectTr(bb){ var row=bb.parentNode.parentNode;//访问父节点的父节点 row.parentNode.removeChild(row);//执行删除 },标准答案还有一行:也不是很理解,辛苦您了,哈哈
2017-05-05 回复 有任何疑惑可以回复我~
#5

Oceann 回复 慕仔0737733 提问者

函数可以多次调用,bb 就相当于未知数,你给它个值,就可以运行出一个结果。 不理解应该是没有搞明白 this 返回的是那个节点。 这9-22节中 this 指的是 <a> 节点 ,代入函数,row就是该<a>节点的祖父<tr>,row.parentNode 就是 table 节点 。 一层一层去看就理解了。
2017-05-06 回复 有任何疑惑可以回复我~
查看2条回复
         var tr=obj.parentNode.parentNode;//a标签的父节点(td3)的父节点(tr)
         tr.parentNode.removeChild(tr);//然后在tr的父节点删除整个tr节点


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

我试着不写,因为我前面也没写括号的,好像也可以出来了

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

慕仔0737733 提问者

还是不行……回去找找以前学的吧,看来也没啥人回答我
2017-05-05 回复 有任何疑惑可以回复我~
#2

Oceann 回复 慕仔0737733 提问者

function delectTr(obj) 中 obj 是参数,delectTr(this) 中 this返回所在的节点。
2017-05-06 回复 有任何疑惑可以回复我~
#3

慕仔0737733 提问者 回复 Oceann

谢谢你
2017-05-09 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

删除函数的编写

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