JQuery kullanarak href değeri nasıl alınır?


163

JQuery kullanarak href değeri almaya çalışıyorum:

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

Ama işe yaramıyor. Neden?


Bize tam olarak neyin işe yaramadığını söylemek ister misiniz? uyarı boş muydu? 2 uyarı bile aldın mı? Herhangi bir js hatası var mı? Benim için çalışıyor ...
Ben Rowe

upss ..., özür dilerim. sorun açık önbellek
Adi Sembiring

Yanıtlar:


351

İhtiyacın var

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

Bir jQuery tıklama işleyicisinin içinde, thisnesne tıklanan öğeye başvururken, sizin durumunuzda her zaman <a>sayfadaki ilk için href alırsınız . Bu arada, örneğinizin neden çalıştığını ancak gerçek kodunuz çalışmıyor


12

Geçerli href değerini şu kodla alabilirsiniz:

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

Href değerini kimliğe göre almak için

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

2

Çalışıyor ... IE8'de test edildi (dosyayı bilgisayarınızdan test ediyorsanız javascript'in çalışmasına izin vermeyi unutmayın) ve krom.


Chrome, ayarlarınıza bağlı olarak ikinci pop-up'ı engelleyebilir, kromda test ediyor muydunuz? Eğer öyleyse, ilk uyarınızı yorumlayın, işe yarayacaktır.
Michael La Voie

2

sayfada bir tane varsa <a>Çalışır Works ama , çok <a>, kullanmak zorundavar href = $(this).attr('href');


1
undefined çıktı verir
VishalParkash

0

Bundan bahsetmeye değer

$('a').attr('href'); // gets the actual value
$('a').prop('href'); // gets the full URL always
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.