如何传递引用到;这";关于javascript函数?
我有一个与此href的链接:如何传递引用到;这";关于javascript函数?,javascript,Javascript,我有一个与此href的链接: href="javascript:foo(this);" 当我称之为“this”时,它指向窗口对象,而不是链接。如何传递对链接的引用 编辑注释:问题是如何通过href,而不是一般-我知道onclick 而不是复制id并生成getElementById,这不是“this”,它是对特定元素的DOM搜索,不需要在HTML中内联 答案是:不可能。当您在href中使用“javascript:…..”时,您正在全局调用此函数。不在链接的上下文中。 您可以尝试以下方法: &l
href="javascript:foo(this);"
当我称之为“this”时,它指向窗口对象,而不是链接。如何传递对链接的引用
编辑注释:问题是如何通过href,而不是一般-我知道onclick
而不是复制id并生成getElementById,这不是“this”,它是对特定元素的DOM搜索,不需要在HTML中内联
答案是:不可能。当您在href中使用“javascript:…..”时,您正在全局调用此函数。不在链接的上下文中。
您可以尝试以下方法:
<a href="#" onclick="foo(this); return false;">MyLink</a>
首先,在锚点中添加一个ID字段 然后 使用标准Javascript:
<a id="someLink" href="javascript:foo(document.getElementById('someLink'));">
:
主观上,你更适合做以下事情:
<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
};
document.getElementById('myAnchor').onclick=function(){
//这是这里最重要的
return false;//可选,完全禁止执行href
};
这样,一切都变得更加清晰了。希望这有助于-ck更好
<a href="javascript:void(0)" onclick="alert(this.href);">Link</a>
在此调用中,此
将引用a
元素。虽然不推荐使用这种事件绑定方法,但最好将其绑定到锚对象表示,而不是DOM元素。@Eliran Malka:这正是lxx所要求的。。。通过引用传递A元素。我知道它可以与onclick一起使用,我只是想知道为什么它不能与href一起使用。如果是全局调用的,则无法使用href获取对它的引用。这是因为,“命令”javascript:
执行代码时完全没有上下文。这与在浏览器地址栏中写入内容相同。如果要获取元素的上下文,必须使用javascript事件(如onclick、onXXX等)href=“#”
使页面滚动到顶部,但这会使我为文本中的每个链接插入两次id,这是我要避免的。
<a href="javascript:void(0)" onclick="alert(this.href);">Link</a>