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

来源:9-22 编程练习

慕粉3233872

2016-11-03 10:15

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回答

  • rosycloud
    2016-11-12 17:07:25
    已采纳

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

    a.onclick = function anonymous() 

    sdel(this); 
    } ;

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

    Arfive...

    解释的真好

    2016-11-22 20:59:55

    共 2 条回复 >

  • 慕粉3937510
    2016-11-08 12:28:56

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

  • 一直都在路上
    2016-11-03 18:27:18

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

    慕粉3233...

    有的,后面复制的时候少了,原程序是有的

    2016-11-04 09:11:09

    共 1 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题