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

为什么按第二种方式绑定函数获取不到this当前节点(第一种能正常实现)

function del(obj){
         var tr = obj.parentNode.parentNode;;
         var table = obj.parentNode.parentNode.parentNode;
         table.removeChild(tr);
}
<a href="#" onclick="del(this)">删除</a>
<a href="javascript:del(this);" >删除</a>


正在回答

3 回答

当使用onclick="sdel(this)"的时候,解释器会给他包装一个匿名函数,变成了:

a.onclick = function anonymous() 

sdel(this); 
} ;

这个this指的就是a这个对象,而使用href的方式时,由于是一个地址,这个this就无处可指了。 

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

慕粉3233872 提问者

非常感谢!
2016-11-12 回复 有任何疑惑可以回复我~
#2

Arfive123

解释的真好
2016-11-22 回复 有任何疑惑可以回复我~

同问,我也在纠结这个问题。。。我自己编时用的第二种方法,实现不了

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

是不是你a标签里面没有文字?

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

慕粉3233872 提问者

有的,后面复制的时候少了,原程序是有的
2016-11-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么按第二种方式绑定函数获取不到this当前节点(第一种能正常实现)

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