Jak uzyskać href klikniętego linku za pomocą jQuery?

87

Czy ktoś wie, jak mogę uzyskać href klikniętego linku za pomocą jQuery? Mam następujący link:

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

Napisałem następujący kod, aby uzyskać wartość href z linku, w który kliknąłem. Ale w jakiś sposób zawsze zwraca mi href pierwszego łącza (ID = 1), mimo że kliknąłem Test2 lub Test3. Czy ktoś wie, co się tutaj dzieje? i jak mogę rozwiązać ten problem?

    $(".testClick").click(function () {
        var value = $(".testClick").attr("href");
        alert(value );
    });
Jin Yong
źródło

Odpowiedzi:

176

this w funkcji wywołania zwrotnego odnosi się do klikniętego elementu.

   $(".addressClick").click(function () {
        var addressValue = $(this).attr("href");
        alert(addressValue );
    });
Daff
źródło
18
Lub można po prostu uzyskać do niego bezpośredni dostęp zamiast tworzyć obiekt jQuery. var addressValue = this.href;
Chris
1
Do Twojej wiadomości, jeśli href jest względne, href="sibling_file.htm"to $ (this) .attr ("href") zwraca, sibling_file.htma this.href https://example.com/folder/sibling_file.htm(czyli to, czego oczekiwałem i chciałem).
Redzarf,
18

Szukasz $(this).attr("href");

Matt
źródło
10
$(".testClick").click(function () {
         var value = $(this).attr("href");
         alert(value );     
}); 

Kiedy używasz $ (". ClassName"), otrzymujesz zestaw wszystkich elementów, które mają tę klasę. Następnie wywołanie attr po prostu zwraca wartość pierwszego elementu w kolekcji.

Paweł
źródło
4

Załóżmy, że mamy trzy tagi kotwicy, takie jak:

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

teraz w skrypcie

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

użyj tego słowa kluczowego zamiast className (testClick)

vishal ribdiya
źródło