2010-01-20 17 views
89

मैं jQuery का उपयोग कर href मूल्य प्राप्त करने की कोशिश कर रहा हूँ: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> 

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

+0

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

+0

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

उत्तर

225

आप

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

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

2

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

+0

एफएफ 3.5 में काम करता है साथ ही –

+0

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

1

नहीं करता है, तो पेज एक <a> यह काम करता है है, लेकिन, कई <a> है var href = $(this).attr('href');

4

उपयोग करने के लिए आप इस से वर्तमान href मूल्य प्राप्त कर सकते हैं कोड:

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

आईडी

$("#mylink").attr("href"); 
संबंधित मुद्दे