我无法弄清楚为什么这不起作用。它改为第一个链接,不会继续。我也需要它循环,所以当你点击它总是圈出链接我有一个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>
答案 0 :(得分:1)
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?
答案 1 :(得分:0)
你可以这样做。
function A() {
document.getElementById("B").href="http://empireminecraft.com/";
}
<button type="button" onClick="A()">Yo!</button>
<a href="https://duckduckgo.com/?q=web+validator" id="B">Yo!</a>
我刚刚使用过已打开过的网址。 出于某种原因,当我尝试它时,我只能让它在IE中工作