2011-04-01 99 views
72

有誰知道我怎麼能得到點擊鏈接的HREF與jQuery?我有以下鏈接:如何使用jquery獲得點擊鏈接的href?

<a href="ID=1" class="testClick">Test1.</a> 
    <br /> 
    <a href="ID=2" class="testClick">Test2.</a> 
    <br /> 
    <a href="ID=3" class="testClick">Test3.</a> 

我寫了一個代碼,如下所示從我點擊的鏈接獲取href值。但不知何故,即使我點擊Test2或Test3,總是會返回第一個鏈接的href(ID = 1)。有誰知道這裏發生了什麼?我該如何解決這個問題?

$(".testClick").click(function() { 
     var value = $(".testClick").attr("href"); 
     alert(value); 
    }); 

回答

133

指點擊的元素。

$(".addressClick").click(function() { 
     var addressValue = $(this).attr("href"); 
     alert(addressValue); 
    }); 
+16

或者一個可以只直接訪問它而不是創建一個jQuery對象。 'var addressValue = this.href;' – Chris 2011-04-01 00:43:09

+0

如果href是相對的'href =「sibling_file.htm」'那麼$(this).attr(「href」)返回'sibling_file.htm'並且this.href返回' https:// example.com/folder/sibling_file.htm'(這是我所期望和想要的。) – Redzarf 2017-12-16 22:34:25

12

你正在尋找你的回調函數$(this).attr("href");

8
$(".testClick").click(function() { 
     var value = $(this).attr("href"); 
     alert(value);  
}); 

當您使用$(「類名」),你所得到的一組具有類的所有元素。然後,當您調用attr時,它僅返回集合中第一個項目的值。

0

假設我們有像三個錨標記,

<a href="ID=1" class="testClick">Test1.</a> 
<br /> 
<a href="ID=2" class="testClick">Test2.</a> 
<br /> 
<a href="ID=3" class="testClick">Test3.</a> 
現在

腳本

$(".testClick").click(function() { 
     var anchorValue= $(this).attr("href"); 
     alert(anchorValue); 
}); 

使用這個關鍵字來代替類名(testClick)