我有这个HREF链接:如何在href javascript函数上传递“this”引用?
href="javascript:foo(this);"
,当我把它称为“这个”点到窗口对象,而不是链接。我如何传递参考链接?
编辑注:现在的问题是如何与HREF传球,不是一般的 - 我知道的onclick!
而不是复制id和getElementById,这不是“this”,它是DOM搜索某个元素,不需要在HTML中内联。
The anwer is:not possible。
我有这个HREF链接:如何在href javascript函数上传递“this”引用?
href="javascript:foo(this);"
,当我把它称为“这个”点到窗口对象,而不是链接。我如何传递参考链接?
编辑注:现在的问题是如何与HREF传球,不是一般的 - 我知道的onclick!
而不是复制id和getElementById,这不是“this”,它是DOM搜索某个元素,不需要在HTML中内联。
The anwer is:not possible。
当您在href中使用“javascript:....”时,您正在调用此函数globaly。不在链接的上下文中。 你可以尝试使用:
<a href="#" onclick="foo(this); return false;">MyLink</a>
主观上,你会更适合的东西,如:
<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>
在这个调用中,'this'不管是否指向'a'元素。尽管不建议使用这种事件绑定方法,但最好将它绑定到锚对象表示,而不是DOM元素。 – 2012-03-14 12:35:48
@Eliran Malka:这就是lxx要求......通过引用传递A元素。 – MatuDuke 2012-03-14 12:36:54
我知道它适用于onclick,只是想知道为什么它不适用于href。如果它是全局调用的,那么就没有办法用href来引用它。 – Ixx 2012-03-14 12:36:55