繁体   English   中英

Javascript- <a>在div中</a>创建一系列<a>标签</a>

[英]Javascript - Creating a series of <a> tags within a div

我正在尝试创建一系列锚标记,这些锚标记在wunderNav div中增加1。

当我使用console.log(counter);运行此循环时; 它给了我一个很好的清单1-XX。 当我尝试添加锚标记时,它只会追加该系列的最后一个。

for(var counter = 1; counter <= thisGM.grids.length; counter++){
    document.getElementById('wunderNav').innerHTML = '<a id="wunderNumber'+ counter +'" href="javascript:thisGM.goToGridPage('+ counter + ');">' + counter + '</a>';
}

谢谢大家,对javascript来说还很陌生,我把头砸在墙上!

这是我需要的:

 for(var counter = 1; counter <= thisGM.grids.length; counter++){
    document.getElementById('wunderNav').innerHTML += '<a id="wunderNumber'+ counter +'" href="javascript:thisGM.goToGridPage('+ counter + ');">' + counter + '</a>';}

分配给.innerHTML替换该节点的内容。 您需要追加,例如

var w = document.getElementById('wunderNav');
for(...) {
   w.innerHTML += '<a ....></a>';
               ^^-- string concatenation
}

另外,请注意,您的代码段中的HTML无效。 您以<a>开头,但以</span>结尾

您需要在循环的每次迭代中wunderNav的内容。 使用+=代替just =可以附加到div的当前innerHTML中。

document.getElementById('wunderNav').innerHTML += '<a id="wunderNumber'+ counter 
    +'" href="javascript:thisGM.goToGridPage('+ counter + ');">' 
    + counter + '</span>';}

您需要在每个循环周期中附加它:

var elem = document.getElementById('wunderNav');
elem.innerHTML = elem.innerHTML + '<a id="wunderNumber'+ counter +'" href="javascript:thisGM.goToGridPage('+ counter + ');">' + counter + '</a>';}
for(var counter = 1; counter <= thisGM.grids.length; counter++){
  document.getElementById('wunderNav').innerHTML += '<a id="wunderNumber'+ counter +'" href="javascript:thisGM.goToGridPage('+ counter + ');">' + counter + '</a>';
}

尝试这个:

for(var counter = 1; counter <= thisGM.grids.length; counter++){

    document.... += '<a id="wunder....">' + counter + '</span>';

}

使用+= = 这是因为您需要将每个锚标记连接到前一个。

祝好运

暂无
暂无

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

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