如何传递对“;这个“;on href javascript函数

How pass reference to "this" on href javascript function?

本文关键字:href javascript 函数 on 这个 何传递      更新时间:2023-09-26

我有一个与此href:的链接

href="javascript:foo(this);"

当我称之为"this"时,它指向的是窗口对象,而不是链接。如何传递对链接的引用?

http://jsfiddle.net/xMGKz/

编辑说明:问题是如何通过href,而不是一般的-我知道onclick!

不复制id并生成getElementById,这不是"this",这是对某个元素的DOM搜索,不需要在HTML中内联。

答案是:不可能。

当您在href中使用"javascript:…."时,您正在全局调用此函数。不在链接的上下文中。您可以尝试使用:

<a href="#" onclick="foo(this); return false;">MyLink</a>

http://jsfiddle.net/xMGKz/1/

主观上,您更适合使用以下内容:

<a href="javascript:void(0)" id="myAnchor">My Link</a>

然后进行编码:

document.getElementById('myAnchor').onclick = function() {
    // this is the <a> in here
    return false; // optional, prevents href from executing at all 
};

这样一来,一切都变得更加清晰了。希望这能帮助-ck

更好;

<a href="javascript:void(0)" onclick="alert(this.href);">Link</a>

首先,向锚点添加一个ID字段。

然后。。。

使用标准Javascript:

<a id="someLink" href="javascript:foo(document.getElementById('someLink'));">

使用jQuery:

<a id="someLink" href="javascript:foo($('#someLink'));">