2010-01-20 17 views
89

Ich versuche href Wert mit jQuery zu erhalten:Wie erhält man mit jQuery Href-Wert?

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

Aber es funktioniert nicht. Warum?

+0

Pflege, uns zu sagen, was genau nicht funktioniert? War der Alarm leer? Hast du sogar 2 Warnungen bekommen? Irgendwelche js Fehler? Es funktioniert für mich ... –

+0

upss ..., sorry. Das Problem ist klar Cache –

Antwort

225

Sie benötigen

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

Innerhalb eines Click-Handler jQuery, das this Objekt bezieht sich auf das Element geklickt wird, während in Ihrem Fall Sie immer die href zum ersten <a> auf der Seite zu bekommen. Das ist übrigens ist, warum Ihr Beispiel funktioniert, aber Ihr echter Code nicht

2

Es funktioniert ... Getestet in IE8 (vergessen Sie nicht zu erlauben Javascript zu laufen, wenn Sie die Datei von Ihrem Computer testen) und Chrom.

+0

Works in FF 3.5 sowie –

+0

Chrome kann das zweite Popup abhängig von Ihren Einstellungen unterdrücken, haben Sie in Chrom getestet? Wenn ja, kommentieren Sie Ihre erste Warnung und es wird funktionieren. –

1

, wenn die Seite hat eine <a> es funktioniert, aber viele <a>, hat var href = $(this).attr('href');

4

Sie verwenden können aktuellen href Wert durch diesen erhalten Code:

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

von ID href Wert erhalten

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