Come ottenere l'href del collegamento cliccato con jquery?


87

Qualcuno sa come posso ottenere l'href del link cliccato con jquery? Ho il collegamento come segue:

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

Ho scritto un codice come segue per ottenere il valore href dal collegamento su cui ho fatto clic. Ma in qualche modo questo mi restituisce sempre l'href del primo collegamento (ID = 1) anche se ho fatto clic su Test2 o Test3. Qualcuno sa cosa sta succedendo qui? e come posso risolvere questo problema?

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

Risposte:


176

questo nella tua funzione di callback si riferisce all'elemento cliccato.

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

18
Oppure si può semplicemente accedervi direttamente invece di creare un oggetto jQuery. var addressValue = this.href;
Chris

1
Cordiali saluti, se href è relativo, href="sibling_file.htm"$ (this) .attr ("href") ritorna sibling_file.htme this.href ritorna https://example.com/folder/sibling_file.htm(che è quello che mi aspettavo e volevo.)
Redzarf


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

Quando usi $ (". ClassName") ottieni l'insieme di tutti gli elementi che hanno quella classe. Quindi, quando chiami attr, restituisce semplicemente il valore del primo elemento nella raccolta.


4

Supponiamo di avere tre tag di ancoraggio come,

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

ora nel copione

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

usa questa parola chiave invece di className (testClick)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.