JQuery का उपयोग करके href मान कैसे प्राप्त करें?


163

मैं jQuery का उपयोग करके href मान प्राप्त करने का प्रयास कर रहा हूं:

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

लेकिन यह काम नहीं करता है। क्यों?


हमें यह बताने के लिए परवाह करें कि वास्तव में क्या काम नहीं हुआ? क्या अलर्ट खाली था? क्या आपको 2 अलर्ट भी मिले? किसी भी जेएस त्रुटियों? यह मेरे लिए काम कर रहा है ...
बेन रोवे

upss ..., क्षमा करें। समस्या स्पष्ट है कैश
आदि

यहाँ
फिडेल

जवाबों:


351

आप की जरूरत है

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

एक jQuery क्लिक हैंडलर के अंदर, thisऑब्जेक्ट क्लिक किए गए तत्व को संदर्भित करता है, जबकि आपके मामले में आपको हमेशा <a>पृष्ठ पर पहली बार href मिल रहा है । यह, संयोग से, यही कारण है कि आपका उदाहरण काम करता है लेकिन आपका वास्तविक कोड नहीं है


12

आप इस कोड द्वारा वर्तमान href मान प्राप्त कर सकते हैं:

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

आईडी द्वारा href मान प्राप्त करने के लिए

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

2

यह काम करता है ... IE8 में परीक्षण किया गया (जावास्क्रिप्ट को चलाने की अनुमति देना न भूलें यदि आप अपने कंप्यूटर से फ़ाइल का परीक्षण कर रहे हैं) और क्रोम।


Chrome आपकी सेटिंग के आधार पर दूसरे पॉपअप को दबा सकता है, क्या आप क्रोम में परीक्षण कर रहे थे? यदि हां, तो अपना पहला अलर्ट टिप्पणी करें और यह काम करेगा।
माइकल ला वोई

2

यदि पृष्ठ में एक है <a>, तो यह काम करता है, लेकिन कई <a>का उपयोग करना हैvar href = $(this).attr('href');


1
अपरिभाषित आउटपुट देता है
विशालपार्क

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.