问答详情
源自:9-22 编程练习

为什么按第二种方式绑定函数获取不到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>


提问者:慕粉3233872 2016-11-03 10:15

个回答

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

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

    a.onclick = function anonymous() 

    sdel(this); 
    } ;

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

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

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

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

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