197 votes

Comment obtenir la valeur href en utilisant jQuery ?

J'essaie d'obtenir une valeur href en utilisant jQuery :

<html>
    <head>
        <title>Jquery Test</title>
         <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
        <script type="text/javascript">
        $(document).ready(function() {
            $("a").click(function(event) {
                alert("As you can see, the link no longer took you to jquery.com");
                var href = $('a').attr('href');
                alert(href);
                event.preventDefault();
            });
        });
        </script>
    </head>
    <body>
        <a href="http://jquery.com/">jQuery</a>
    </body>
</html>

Mais ça ne marche pas.

419voto

Gareth Points 42402

Vous avez besoin

var href = $(this).attr('href');

À l'intérieur d'un gestionnaire de clics jQuery, l'objet this fait référence à l'élément cliqué, alors que dans votre cas, vous obtenez toujours le href pour le premier <a> sur la page. C'est d'ailleurs la raison pour laquelle votre exemple fonctionne mais votre vrai code ne fonctionne pas

16voto

Prince Patel Points 1456

Vous pouvez obtenir la valeur href actuelle par ce code :

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

Pour obtenir la valeur href par ID

$("#mylink").attr("href");

12voto

Jahanggir Jaman Points 111

Il convient de mentionner que

$('a').attr('href'); // gets the actual value
$('a').prop('href'); // gets the full URL always

2voto

AlfaTeK Points 2675

Il fonctionne... Testé dans IE8 (n'oubliez pas d'autoriser l'exécution de javascript si vous testez le fichier à partir de votre ordinateur) et chrome.

2voto

wangtong Points 21

si la page a un <a> Cela fonctionne,mais de nombreux <a> doivent utiliser var href = $(this).attr('href');

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X