Wie bekomme ich die href des angeklickten Links mit jquery?

86

Weiß jemand, wie ich die href des angeklickten Links mit jquery bekommen kann? Ich habe den Link wie folgt:

    <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>

Ich habe einen Code wie folgt geschrieben, um den href-Wert von dem Link zu erhalten, auf den ich geklickt habe. Aber irgendwie ist dies immer die Rückgabe des href (ID = 1) des 1. Links, obwohl ich auf Test2 oder Test3 geklickt habe. Weiß jemand, was hier los ist? und wie kann ich dieses Problem lösen?

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

Antworten:

175

Dies bezieht sich in Ihrer Rückruffunktion auf das angeklickte Element.

   $(".addressClick").click(function () {
        var addressValue = $(this).attr("href");
        alert(addressValue );
    });
Daff
quelle
17
Oder man kann einfach direkt darauf zugreifen, anstatt ein jQuery-Objekt zu erstellen. var addressValue = this.href;
Chris
1
Zu href="sibling_file.htm"Ihrer Information , wenn die href relativ ist, kehrt $ (this) .attr ("href") zurück sibling_file.htmund this.href https://example.com/folder/sibling_file.htm(was ich erwartet und gewollt hatte)
Redzarf
18

Du schaust nach $(this).attr("href");

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

Wenn Sie $ (". ClassName") verwenden, erhalten Sie die Menge aller Elemente, die diese Klasse haben. Wenn Sie dann attr aufrufen, wird einfach der Wert des ersten Elements in der Sammlung zurückgegeben.

Paul
quelle
3

Angenommen, wir haben drei Ankertags wie:

<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>

jetzt im Skript

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

Verwenden Sie dieses Schlüsselwort anstelle von className (testClick).

vishal ribdiya
quelle