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

例题中删除函数问题


function del(obj)
     {
         var tr=obj.parentNode.parentNode;
         tr.parentNode.removeChild(tr);
     }

我定义了删除函数,为什么这样写<a href="javascript:del(this);>删除</a>,不行。

<a href="javascript:;"onclick="del(this)">删除</a>这样就可以生效呢?this不都是传递的参数<a>吗?


提问者:天窗的蚂蚁 2016-02-29 19:04

个回答

  • 长颈鹿在附近
    2016-03-05 20:17:22

    http://img.mukewang.com/56daccf50001d44908520153.jpg

    蓝线的this没有调用对象默认为window

    红线的this有调用对象是onclick

    http://img.mukewang.com/56dace490001c71f07320656.jpg

  • 慕移动3709750
    2016-03-01 16:10:46

    因为参数的问题,方法名写在不同的地方,this指代的不一样,onclick中this指超链接本身,href中this指的是window

  • qq_说好的花海呢丶_0
    2016-03-01 15:50:03

    因为当你点击<a>的时候,这个鼠标点击事件不成立,他需要捕捉到你的一个“点击”行为。所以需要在后面添加onclick!!!!