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 );
    });

Antworten:


175

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

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

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


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.


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.