[英]javascript change href of all links to onclick=custom_function(pars)
我想使用javascript來使我的所有鏈接向其href屬性發出發布請求。
為此,我編寫了以下代碼:
var links = document.getElementsByTagName("a");
var messaggio = "ciao";
var url="";
for(l=0; l<links.length;++l) {
url = links[l].href;
links[l].onclick = post(url,messaggio);
links[l].removeAttribute("href");
}
現在的發布功能很簡單
function post(url, messaggio) {
alert(messaggio + url);
}
如果使用此代碼,則在加載頁面時會收到很多警報,每個警報都包含其URL。 如果我改為將代碼更改為
links[l].onclick = function () { post(url,messaggio); };
加載頁面(應是)並單擊鏈接時,不會彈出任何警告(應有),但包含頁面中最后一個鏈接的網址
我猜這是因為它每次都在相同的指針上創建相同的函數? 但是我不知道該如何改變
您的范圍有問題。 嘗試這個。 有一個更好的方法,但是:
var links = document.getElementsByTagName("a");
var messaggio = "ciao";
for(l=0; l<links.length;++l) {
links[l].url = links[l].href;
links[l].messaggio = messaggio
links[l].onclick =function (){
post(this.url,this.messaggio)
};
links[l].removeAttribute("href");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.