如何更改<a> tag on button click through javascript</a>的href

时间:2010-12-06 10:05:53

标签: javascript href attr

如何在点击按钮时通过Javascript更改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>

8 个答案:

答案 0 :(得分:143)

如果没有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>

答案 1 :(得分:26)

Nick Carver在那里做了什么,但我认为如果使用DOM setAttribute方法最好。

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

这是一个额外的代码行,但在结构上发现它更好。

答案 2 :(得分:7)

删除href属性:

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

如果链接样式很重要,那么:

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

答案 3 :(得分: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>

答案 4 :(得分:0)

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

答案 5 :(得分: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>

答案 6 :(得分:0)

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

<a href="" id="abc">jhg</a>
<button onclick="f1("dynamicHref")">Change HREF</button>

Just give the dynamic HREF in Paramters

答案 7 :(得分:-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>`

对此有何评论?