簡體   English   中英

Javascript將一個onclick事件附加到帶有href變量的所有鏈接

[英]Javascript attach an onclick event to all link with href variable

我試圖為我的所有帶有“外部鏈接”類的鏈接添加onclick函數。 因此,我已經成功完成了該測試,並在我單擊該按鈕的任何時候都進行了測試,以提醒它“起作用”,但是該鏈接的href如何返回到函數中呢? 我想在該變量中輸入“ http://www.example.com ”。 我嘗試了elements [i] .href,但它是未定義的。

var elements = document.getElementsByClassName('external-link');
for(var i = 0, len = elements.length; i < len; i++) {
    elements[i].onclick = function () {
      trackOutboundLink(‘http://www.example.com’); return false;
    }
}

您的onclick回調的上下文將是被單擊的鏈接,因此您可以簡單地使用'this.href'

var elements = document.getElementsByClassName('external-link');
for(var i = 0, len = elements.length; i < len; i++) {
    elements[i].onclick = function () {
      trackOutboundLink(this.href); return false;
    }
}

您是否考慮過為此使用jQuery? 它有助於保持簡單明了的代碼,與大多數瀏覽器兼容,並使您無需處理復雜的對象樹。

 <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <script> $(document).ready(function(){ $("a.external-link").click(function(){ alert("You clicked an external link to: " + $(this).attr("href")); }); }); </script> </head> <body> <a class="external-link" href="http://www.example1.com">Example 1</a><br> <a class="external-link" href="http://www.example2.com">Example 2</a><br> <a class="internal-link" href="http://www.example3.com">Example 3</a> - <i>no alert</i> </body> </html> 

資源:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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