我在JavaScript中有以下代码:
var counter=0;
for(..){
Element.innerHTML = '<div id="myId">....</div>';
counter++;
}
我希望执行以下操作,动态生成ID:
for(..){
var counter=0;
...
Element.innerHTML = '<div id="myId'+counter+'">....</div>';
...
counter++;
}
答案 0 :(得分:2)
移动
var counter = 0;
在for循环之外的,因为你在每个循环中重置它。
var counter = 0;
for(...){
//...
Element.innerHTML = '<div id="myId'+counter+'">....</div>';
//...
counter++;
}
答案 1 :(得分:0)
如果您已使用for循环,请不要使用单独的计数器
不要使用大写的Element
作为变量名。它已经是DOM interface了,我无法想到你应该压倒它的原因。即使它不会导致代码中出现当前问题,也是不好的做法。
var element = document.body // or grab any dom node
var someAmount = 10 // or any amount
// assuming you are looking to add additional divs with each iteration
// which is what I assume you mean by 'concatenate'
for (var i = 0; i < someAmount; i++) {
element.innerHTML += '<div id="myId'+i+'">....</div>'
}