2011-08-04 15 views
6

मेरे पास एक साधारण जावास्क्रिप्ट फ़ंक्शन है जो एक यूआरएल बनाता है जिसे मैं एक लिंक प्रदान करना चाहता हूं।एचटीएमएल लिंक, जावास्क्रिप्ट फ़ंक्शन से href असाइनमेंट

हालांकि, मुझे इसके साथ काम कर रहे एंकर टैग को प्रतीत नहीं होता है। मैं एंकर टैग के href को जावास्क्रिप्ट फ़ंक्शन के परिणामों को कैसे असाइन करूं?

न तो इनमें से किसी एक सही ढंग से काम:

<a href="getUrl();">Click here</a> 
<a href="javascript:getUrl();">Click here</a> 

यह वह जगह है जो मैं पूरा करना चाहते हैं।

उत्तर

11
<script type="text/javascript"> 
    function getUrl() 
    { 
     return "http://www.google.com"; 
    } 
</script> 
<a href="javascript:document.location.href=getUrl();">Click here</a> 

- अद्यतन -

अगर मैं user278064s 'टिप्पणी को शामिल करना चाहता था, मैं में ऊपर बदल जाएगा:

<script type="text/javascript"> 
     function getUrl() 
     { 
      return "http://www.google.com"; 
     } 
    </script> 
    <a href="#" onClick="document.location.href=getUrl();">Click here</a> 
+0

धन्यवाद मिचा, यह काम करता है क्योंकि मुझे इसकी आवश्यकता है! – Mike

+0

इनमें से एक बेहतर अभ्यास माना जाता है? –

+0

@ miss.serena: न तो एक सौंदर्य प्रतियोगिता जीत जाएगी, लेकिन दूसरे को दिन में बेहतर माना जाएगा। चूंकि यह स्टेटस बार को फिर से लिखता है, जो 'onMouseOver'/'onMouseOut' कोड का उपयोग किए बिना आपकी स्टेटसबार को और अधिक साफ रखता है। लेकिन इन दिनों वैसे भी स्टेटस बार का उपयोग कौन करता है? ;) – micha

0
<a onclick="getUrl();" href="#">Click here</a> 

Click Here

+1

के लिए काम किया के बाद इस पूरी तरह से कुछ नहीं करता है। – Mike

0

लिंक दें एक id:

<a id="specialLink">Click Here</a> 

बाद में, जावास्क्रिप्ट से अपने href सेट:

document.getElementById('specialLink').href = getUrl(); 

(आप लिंक जो अक्षम जावास्क्रिप्ट के साथ लोगों को देखेंगे में एक प्लेसहोल्डर href शामिल करने के लिए चाहते हो सकता है।)

+0

'बाद में' क्या मतलब है? जब पृष्ठ लोड होता है, तो मैं इस लिंक के href को सही स्थान पर इंगित करना चाहता हूं ताकि जब लिंक क्लिक किया जाए तो यह उस उपयोगकर्ता को ले जाता है जहां मैं उन्हें जाना चाहता हूं। वास्तव में कोई 'बाद में' नहीं है। – Mike

+0

@ माइक "बाद में" बस इसका मतलब है "किसी भी जावास्क्रिप्ट में जो पृष्ठ पर लिंक के बाद चलता है"। यह दस्तावेज़ के अंत में एक जावास्क्रिप्ट फ़ाइल शामिल हो सकती है, एक फ़ंक्शन जो पृष्ठ तैयार होने पर चलता है, या '

1

कोई भी मेरे लिए काम किया। समारोह में एक नया लिंक बनाना एक अच्छा तरीका होगा।

function fetchURL() { 
 
    var title = "Download"; 
 
    var URL = title.link("https://www.google.com"); 
 
    document.getElementById("dynamicButton").innerHTML = URL; 
 

 
}
<body onload="fetchURL()"> 
 
    <div id="dynamicButton"> 
 
    //empty 
 
    </div>

0

मुझे

<script type="text/javascript"> 
    $(function() { 
     document.getElementById("aTag").href = getUrl(); 
    }); 
</script> 

<a id="aTag">Click Here</a> 
संबंधित मुद्दे