Javascript 循环中的ID div

Javascript 循环中的ID div,javascript,for-loop,duplicates,Javascript,For Loop,Duplicates,在Javascript中工作。我试图复制一个div并在fo中动态命名它。以下两项似乎都不起作用: var origDiv = document.getElementById("outerSquare"); for (i=1; i<=4; ++i){ newDiv = document.body.appendChild(origDiv.cloneNode(true)); // newDiv.id = "block"+i; newDiv.setAttribute("id",

在Javascript中工作。我试图复制一个div并在fo中动态命名它。以下两项似乎都不起作用:

var origDiv = document.getElementById("outerSquare");
for (i=1; i<=4; ++i){
    newDiv = document.body.appendChild(origDiv.cloneNode(true));
//  newDiv.id = "block"+i;
    newDiv.setAttribute("id", "block"+i);
}
var origDiv=document.getElementById(“outerSquare”);
对于(i=1;i使用类:

<div class="outerSquare">
<div class="innerSquare"></div>
</div>

var origDiv = document.getElementsByClassName("outerSquare")[0];

for (i=1; i<=4; ++i){
    newDiv = document.body.appendChild(origDiv.cloneNode(true));
    newDiv.style.left = i*40 +"px";
    newDiv.style.top = i*40 +"px";
//  newDiv.id = "block"+i;
   //newDiv.setAttribute("id", "block"+i);
}

origDiv.style.left = "200px";

block2.style.left = "400px";

var origDiv=document.getElementsByClassName(“outerSquare”)[0];

(i=1;iIT工作正常,我能看到什么?问题是什么?因为它复制了“外方”,我应该得到4个新的红色正方形,每个中间都有一个红场。行,它的功能与我预期的一样,但目前,除了右侧的原始块之外,我看到的是4个堆叠的黑框。这就是您要求它做的事情–您可以使用浏览器的开发工具轻松检查。只有为
#outerSquare
定义的样式显然不再适用,因为您需要更改编辑了id。而内部元素仍然都有id
innerSquare
,因为你根本没有更改该id,所以你最终得到了具有相同id的多个元素,这是你应该避免的。你让我大吃一惊。甚至不知道我可以为一个div创建一个类。伙计,我有很多东西要学。非常感谢:)