बटन पर <a> टैग के href को कैसे बदलें, जावास्क्रिप्ट के माध्यम से क्लिक करें


127

बटन पर जावास्क्रिप्ट के माध्यम से टैग hrefका गुण मान कैसे बदलें <a/>?

<script type="text/javascript">
  function f1()
  {
    document.getElementById("abc").href="xyz.php"; 
  }
</script>

<a href="" id="abc">jhg</a>
<a href="" id="" onclick="f1()">jhhghj</a>

एक्सेसिबिलिटी का तरीका इस तरीके से लिंक का उपयोग न करने का हुक्म देता है। यहाँ: xkr.us/js/links
नि

जवाबों:


177

एक होने के बिना href, क्लिक वर्तमान पृष्ठ को फिर से लोड करेगा, इसलिए आपको कुछ इस तरह की आवश्यकता है:

<a href="#" onclick="f1()">jhhghj</a>

या स्क्रॉल को इस तरह रोकें:

<a href="#" onclick="f1(); return false;">jhhghj</a>

या return falseअपने f1समारोह में और:

<a href="#" onclick="return f1();">jhhghj</a>

.... या, विनीत तरीका:

<a href="#" id="abc">jhg</a>
<a href="#" id="myLink">jhhghj</a>

<script type="text/javascript">
  document.getElementById("myLink").onclick = function() {
    document.getElementById("abc").href="xyz.php"; 
    return false;
  };
</script>

event && event.preventDefault && event.preventDefault();पहले जोड़ने का सुझावreturn false
袁文涛

34

वास्तव में निक कार्वर ने वहां क्या किया था, लेकिन मुझे लगता है कि यह सबसे अच्छा होगा अगर DOM सेटएट्रिब्यूट विधि का इस्तेमाल किया जाए।

<script type="text/javascript">
   document.getElementById("myLink").onclick = function() {
   var link = document.getElementById("abc");
   link.setAttribute("href", "xyz.php");
   return false;
   }
</script>

यह कोड की एक अतिरिक्त पंक्ति है, लेकिन इसे बेहतर संरचना के हिसाब से खोजें।


8
IMO की यहाँ कोई आवश्यकता नहीं है, यह हमेशा के लिए DOM प्रॉपर्टी रहा है, .hrefसभी ब्राउज़रों में काम करता है ... उदाहरण के लिए क्या आप .getAttribute("id")इसके बजाय सिर्फ उपयोग करेंगे .id? :)
निक Craver

3
आप सही हैं, यह कुछ विशेष या अलग नहीं करता है, यह सिर्फ संरचनात्मक-बुद्धिमान है। मुझे बाद में डीबगिंग / समीक्षा करने के लिए अपने सभी डोम कार्यों को इस तरह से करना पसंद है: मेरे लिए यह देखना आसान है कि फ़ंक्शन इस विधियों के साथ क्या कर रहा है। जाहिर है कि आपका जवाब पैसे पर सही है :)
जकोभंस

7

निकालें hrefविशेषता:

<a id="" onclick="f1()">jhhghj</a>

यदि लिंक शैलियाँ महत्वपूर्ण हैं तो:

<a href="javascript:void(f1())">jhhghj</a>

1
विशेषता के <a>बिना एक टैग href? क्या? क्यों?
शिखिर्यु

1
Href छोड़ने से यह स्टाइल और व्यवहार बदल जाएगा। यह तब एक लिंक के बजाय एक एंकर के रूप में कार्य करता है।
कोबरा_फास्ट

1
उत्तर के लिए धन्यवाद आप लोग वास्तव में मेरी मदद कर रहे हैं।
चौहान

1
कोई href इसे एक एंकर नहीं बनाता है, एक लिंक पर क्लिक करें, बहुत सामान्य है
नि: शुल्क परामर्श

1
<a href="#" id="a" onclick="ChangeHref()">1.Change 2.Go</a>

<script>
function ChangeHref(){
document.getElementById("a").setAttribute("onclick", "location.href='http://religiasatanista.ro'");
}
</script>

0

लिंक पर क्लिक करने के लिए गतिशील रूप से इसे बदलने के लिए:

<input type="text" id="emailOfBookCustomer" style="direction:RTL;"></input>
        <a 
         onclick="this.href='<%= request.getContextPath() %>/Jahanpay/forwardTo.jsp?handle=<%= handle %>&Email=' + document.getElementById('emailOfBookCustomer').value;" href=''>
    A dynamic link 
            </a>

0

यहाँ मेरा इस पर ले रहा है। जब उपयोगकर्ता एक सबमिट बटन दबाता है, तो मुझे टेक्स्ट बॉक्स से मूल्य एकत्र करके एक URL बनाने की आवश्यकता होती है।

<html>
<body>

Hi everyone

<p id="result"></p>

<textarea cols="40" id="SearchText" rows="2"></textarea>

<button onclick="myFunction()" type="button">Submit!</button>

<script>
function myFunction() {
    var result = document.getElementById("SearchText").value;
	document.getElementById("result").innerHTML = result;
	document.getElementById("abc").href="http://arindam31.pythonanywhere.com/hello/" + result;
}		
</script>


<a href="#" id="abc">abc</a>

</body>
<html>


-1

मुझे इसकी पुरानी पोस्ट पता है। फिर भी, यह कुछ मदद कर सकता है।

टैग के बजाय, यदि संभव हो तो आप यह भी कर सकते हैं।

 <script type="text/javascript">
        function IsItWorking() {
          // Do your stuff here ...
            alert("YES, It Works...!!!");
        }
    </script>   

    `<asp:HyperLinkID="Link1"NavigateUrl="javascript:IsItWorking();"`            `runat="server">IsItWorking?</asp:HyperLink>`

इस पर कोई टिप्पणी?

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