Bagaimana cara mendapatkan href link yang diklik dengan jquery?

87

Adakah yang tahu bagaimana saya bisa mendapatkan href link yang diklik dengan jquery? Saya memiliki tautan sebagai berikut:

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

Saya menulis kode sebagai berikut untuk mendapatkan nilai href dari tautan yang saya klik. Tetapi entah bagaimana ini selalu mengembalikan saya href tautan pertama (ID = 1) meskipun saya mengklik Test2 atau Test3. Adakah yang tahu apa yang terjadi di sini? dan bagaimana saya bisa mengatasi masalah ini?

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

Jawaban:

176

ini dalam fungsi panggilan balik Anda mengacu pada elemen yang diklik.

   $(".addressClick").click(function () {
        var addressValue = $(this).attr("href");
        alert(addressValue );
    });
Daff
sumber
18
Atau seseorang dapat mengaksesnya secara langsung daripada membuat objek jQuery. var addressValue = this.href;
Chris
1
FYI, jika href relatif href="sibling_file.htm"maka $ (this) .attr ("href") kembali sibling_file.htmdan this.href kembali https://example.com/folder/sibling_file.htm(yang saya harapkan dan inginkan.)
Redzarf
18

Kamu sedang mencari $(this).attr("href");

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

Saat Anda menggunakan $ (". ClassName") Anda mendapatkan himpunan dari semua elemen yang memiliki kelas itu. Kemudian ketika Anda memanggil attr itu hanya mengembalikan nilai item pertama dalam koleksi.

Paul
sumber
4

Misalkan kita memiliki tiga tag anchor seperti,

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

sekarang dalam naskah

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

gunakan kata kunci ini sebagai ganti className (testClick)

vishal ribdiya
sumber