答案 0 :(得分:1)
您必须将var clone = original.cloneNode(true);
放入while
循环中。
结果如下:
document.getElementById('button').onclick = duplicate;
var i = 0;
var counter4 = 3;
var original = document.getElementById('duplicate');
function duplicate() {
while (i < counter4){
var clone = original.cloneNode(true); // "deep" clone
console.log(clone)
clone.id = "duplicate"; // there can only be one element with an ID
original.parentNode.appendChild(clone);
i++;
}
}
&#13;
#duplicate{
width: 100px;
height: 50px;
margin-bottom: 10px;
background-color: red;
}
&#13;
<input type="button" id="button" value="Button">
<div id="duplicate">
</div>
&#13;
答案 1 :(得分:0)
您将var clone = original.cloneNode(true);
留在while循环之外,这意味着每次按下按钮时都只会克隆一次。如果要将它克隆三次,则需要将该语句移动到while循环内。
http://jsfiddle.net/3L05as1n/9/
此外,您可以使用for循环来执行此操作:http://jsfiddle.net/3L05as1n/10/