簡體   English   中英

javascript將所有鏈接的href更改為onclick = custom_function(pars)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM