当我想在带有Dom的html中添加fromChild时,我想在其中插入一些内容,但我在for循环中感到困惑。 我第一次尝试这个:
<div id="whitespaces"></div>
<script type="text/javascript">
window.onload = function() {
var br = document.createElment("br")
var wh = document.getElementById("whitespaces");
for (var count = 1; count < 11; count++){
wh.appendChild(br);
}
}
</script>
结果是我得到 1&lt; html中的br&gt; 。
然后我试试这个:
window.onload = function(){
var wh = document.getElementById("whitespaces");
for (var count = 1; count < 11; count++){
wh.appendChild(document.createElement("br"));
}
}
</script>
在此我得到 10&lt; br> 在我的html页面中。 那么为什么2的结果不同呢? 变量br不等于document.createElment(“br”)?
答案 0 :(得分:3)
因为br
是一个独特的元素。当您使用appendChild
时,它会从中删除元素,并将其插入其他位置。除了像第二个例子中那样每次都创建一个新节点,你可以做的就是克隆节点:
var br = document.createElment("br")
var wh = document.getElementById("whitespaces");
for (var count = 1; count < 11; count++){
wh.appendChild(br.cloneNode());
}