[英]How pass reference to “this” on href javascript function?
我有这个href的链接:
href="javascript:foo(this);"
当我称之为“this”指向窗口对象,而不是链接。 如何传递对链接的引用?
编辑注释 :问题是如何通过href传递,而不是一般 - 我知道onclick!
而不是复制id和make getElementById,这不是“this”,它是DOM搜索某个元素,不需要在HTML中内联。
答案是:不可能。
当你在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
};
这样一切都会更加清晰。 希望这有助于确定
更好;
<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'));">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.