JQuery ile tıklanan bağlantının href'i nasıl alınır?


87

Tıklanan bağlantının href'ini jquery ile nasıl alabileceğimi bilen var mı? Aşağıdaki bağlantıya sahibim:

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

Tıkladığım linkten href değerini almak için aşağıdaki gibi bir kod yazdım. Ama bir şekilde bu, Test2 veya Test3'e tıklamış olmama rağmen bana her zaman 1. bağlantının href'ini (ID = 1) döndürüyor. Burada neler olduğunu bilen var mı? ve bu sorunu nasıl çözebilirim?

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

Yanıtlar:


176

geri arama işlevinizdeki bu , tıklanan öğeyi ifade eder.

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

18
Ya da bir jQuery nesnesi oluşturmak yerine ona doğrudan erişebilirsiniz. var addressValue = this.href;
Chris

1
Bilginize, href göreli ise href="sibling_file.htm"$ (this) .attr ("href") döner sibling_file.htmve this.href döner https://example.com/folder/sibling_file.htm(ki bu benim beklediğim ve istediğim
şeydir


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

$ (". ClassName") kullandığınızda, bu sınıfa sahip tüm elemanların kümesini alıyorsunuz. Sonra attr'ı çağırdığınızda, koleksiyondaki ilk öğenin değerini döndürür.


4

Aşağıdaki gibi üç bağlantı etiketimiz olduğunu varsayalım:

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

şimdi senaryoda

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

kullanmak bu yerine SinifAdi ait anahtar kelime (testClick)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.