Javascript 如何在触发onclick事件的函数中使用相同的元素

Javascript 如何在触发onclick事件的函数中使用相同的元素,javascript,jquery,Javascript,Jquery,我正在外部文件中为脚本使用以下代码 function DiableLink(elem){ console.log($(elem).attr('type')); if($(elem).hasClass('disabled')) { return false; } else { $(elem).addClass('disabled'); } } 在html中使用,如下所示 <a onClick="DiableLink(this);"

我正在外部文件中为脚本使用以下代码

function DiableLink(elem){
   console.log($(elem).attr('type'));
   if($(elem).hasClass('disabled')) {
       return false;
   }
   else {
       $(elem).addClass('disabled');
   }
}
在html中使用,如下所示

<a onClick="DiableLink(this);" class="hid" href="somelink.jsp"></a>
这是完美的工作(我从stackoverflow得到的)。
但我不知道为什么调用onclick事件不起作用。请问有人能帮忙吗?在我出错的地方

如果使用的是事件处理程序而不是函数,则需要将
onclick=“”
属性保持为空


编辑:您的解决方案实际上与

我写道:

我将调用href中的函数:

<a href="javascript: yourFunction(); location.href='newpage.js';">Click</a>

但是,如果您想通过href属性传递锚定标记元素,那么它将不起作用。因此,这将不起作用:

<a href="javascript: yourFunction(this); location.href='newpage.js';">Click</a>


在这种情况下,您必须使用onclick事件(内联或在一个单独的文件中,如我之前所写)。

您是否将函数b/w
标记放入了外部JavaScript文件??因为没有它,我最后提到的代码worked@ozilyou可以将函数放在具有
标记的同一文件中。但是把它放在
标记中,但是我也需要在其他文件中调用这个函数(可重用性),我更喜欢在外部文件中调用它。只有当我放在同一个文件中时才有效吗@ozilyes你可以把它放在
外部js文件中
别忘了包含该文件的参考:我在问我发布的第一个代码的解决方案,不是最后一个代码,这是有效的,我在使用代码时没有使用onclick:)否决了你的答案,因为你至少应该研究一下
onclick
是否区分大小写。带有直接假设的答案很难认真对待。只是需要记住的东西。:)在提交答案后不久,我研究了一下:)无论如何,你是对的,我应该在之前做。编辑你的答案,我将删除否决票,公平公正!不,它也不起作用:(@insane.user17当我像这样使用时,我不需要提到函数作为
Diablelink(this)
如果它被禁用,那么下次我单击时,我将无法访问该站点,这是实际的禁用…我想:)@insane.user17
<a href="javascript: yourFunction(this); location.href='newpage.js';">Click</a>