循环append方法

我想循环往div中添加dom

<div class="svg-container"></div><div class="svg-container"></div><div class="svg-container"></div>

JS代码:

$(".svg-container").each(function() {
    $(this).append(doc);
}

但是只有最后一个div添加了,我试着用for循环写了也是一样。是什么原因呢?~求大神解答谢谢~


慕容森
浏览 685回答 1
1回答

函数式编程

append添加到元素的时候,已存在的元素是移动而不是复制,你用了遍历,所以第一次是新增,后面都是移动前面新增的,最后当然就出现了只有最后一项有东西。解决办法:1、不要遍历,你用的是jQuery的类选择器,可以直接$(".svg-container").append(doc),它会自动复制多份保存append进去2、遍历的时候手动复制一份,$(this).append(doc.clone())3、doc改成字符串
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript