删除函数的问题

来源:9-22 编程练习

努力的xian鱼

2019-05-24 17:29

首先贴上我删除函数的代码:

function cancel(obj){

         var row = obj.parentNode.parentNode;

         var x = row.parentNode.removeChild(row);

         x=null;

     }

为什么<a href="javascript:cancel(this);" >执行不了函数,要用onclick()才可以实现

例如,<a href="javascript:;" onclick="cancel(this)" >

写回答 关注

2回答

  • 浪里个吊儿郎
    2019-06-01 15:46:38
    已采纳

    <a href='javascript:function()'>这样写是为了让这个链接不要链接到新页面转而执行一段js代码,和onclick能起到同样的效果,一般来说,如果要调用脚本还是在onclick事件里面写代码,而不推荐href='javascript:function()' 这样的写法。因为href属性里面设置了js代码后,在某些浏览器下可能会引发其他不必要的事件。而且onclick事件会比href属性先执行,所以会先触发 onclick 然后触发href。所以如果不想页面跳转,可以设置onclick里面的js代码执行到最后返回一个false,这样href里面的东西就不会执行了。

    在ajax应用程序中,多写着下面的这样 ,以表示这个链接不跳转,而执行一段js脚本。

    <a href="javascript:void(0);" onclick="function()"></a> 或者

    <a href="javascript:;"onclick="function()"></a>

    void(0) 只是用来计算一个空值,其实也是什么事情都不做,而分号“;”则表示是一个空的js语句,这样就不会有任何其他跳转发生了。

    所以你就记住如果要调用方法,还是写在onclick=“function()”里就好了。


  • 77阿棱
    2019-05-31 15:15:51

    javascript: 是一个伪协议,其他的伪协议还有 mail:  tel:  file:  等等。

    <a id="jsPswEdit" class="set-item" href="javascript:;">修改密码</a>1

    javascript:是表示在触发默认动作时,执行一段JavaScript代码,而 javascript:; 表示什么都不执行,这样点击时就没有任何反应。

    onclick="cancel(this)" 通过鼠标事件onclick调用函数

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题