我正在尝试创建一系列在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>';}
答案 0 :(得分:6)
分配给.innerHTML
会逐字取代该节点的内容。您需要APPEND,例如
var w = document.getElementById('wunderNav');
for(...) {
w.innerHTML += '<a ....></a>';
^^-- string concatenation
}
同样,请注意您的代码段中的HTML无效。您以<a>
开头,但以</span>
答案 1 :(得分:1)
你正在擦除循环的每次迭代wunderNav
的内容。使用+=
而非=
附加到div的当前innerHTML
。
document.getElementById('wunderNav').innerHTML += '<a id="wunderNumber'+ counter
+'" href="javascript:thisGM.goToGridPage('+ counter + ');">'
+ counter + '</span>';}
答案 2 :(得分:1)
您需要在每个循环周期中添加它:
var elem = document.getElementById('wunderNav');
elem.innerHTML = elem.innerHTML + '<a id="wunderNumber'+ counter +'" href="javascript:thisGM.goToGridPage('+ counter + ');">' + counter + '</a>';}
答案 3 :(得分:1)
for(var counter = 1; counter <= thisGM.grids.length; counter++){
document.getElementById('wunderNav').innerHTML += '<a id="wunderNumber'+ counter +'" href="javascript:thisGM.goToGridPage('+ counter + ');">' + counter + '</a>';
}
答案 4 :(得分:0)
试试这个:
for(var counter = 1; counter <= thisGM.grids.length; counter++){
document.... += '<a id="wunder....">' + counter + '</span>';
}
使用+=
代替=
。这是因为您需要将每个锚标记连接到前一个锚标记。