繁体   English   中英

JavaScript onclick更改href

[英]JavaScript onclick change href

我不知道为什么这不起作用。 它更改为第一个链接,并且将继续前进。 我也需要它来循环,所以当您单击它时,它总是在链接中盘旋,我有一个php变量,它是最后一个#panelNum。

<html>
<head>
<script language="JavaScript"><!--
function findLinkByHref(href) {
  for (var i=0; i<document.links.length; i++) {
    if (document.links[i].href == href) return i;
  }
  return -1;
}

function changeLinkHref(id,newHref,oldHref) {
  if (document.links.length > 0) {
    if (document.getElementById) {
      document.getElementById(id).href = newHref;
    }
    else if (document.all) {
      document.all[id].href = newHref;
    }
    else {
      var index = findLinkByHref(oldHref);
      if (index > -1)
        document.links[index].href = newHref;
    }
  }
}
//--></script>
</head>
<body>
<a id="myLink" href="#panel3" value="Change href" onClick="changeLinkHref('myLink','#panel4','#panel5','#panel5','#panel6')">somewhere</a>
</body>
</html>
function findLinkByHref(href) {
  for (var i=0; i<document.links.length; i++) {
    if (document.links[i].href == href) return i;
  }
}

如果返回if,它仍然返回-从而停止执行函数。

这是唯一的for循环,因此是您遍历所有链接的唯一位置。 听起来您想在changeLinkHref函数中执行此操作,例如。

 else if (document.all) {
      document.all[id].href = newHref;
    }
    else {
      var index = findLinkByHref(oldHref);
      for (var i=0; i<document.links.length; i++) {
         // change all links?

你可以做这样的事情。

JS

function A()    {
document.getElementById("B").href="http://empireminecraft.com/";
}

的HTML

<button type="button" onClick="A()">Yo!</button>
<a href="https://duckduckgo.com/?q=web+validator" id="B">Yo!</a>

我只是使用了打开的URL。 由于某种原因,当我尝试它时,我只能使其在IE中工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM