我有這個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