我想循环往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循环写了也是一样。是什么原因呢?~求大神解答谢谢~
1 回答
函数式编程
TA贡献1807条经验 获得超9个赞
append添加到元素的时候,已存在的元素是移动而不是复制,你用了遍历,所以第一次是新增,后面都是移动前面新增的,最后当然就出现了只有最后一项有东西。
解决办法:
1、不要遍历,你用的是jQuery的类选择器,可以直接$(".svg-container").append(doc),它会自动复制多份保存append进去
2、遍历的时候手动复制一份,$(this).append(doc.clone())
3、doc改成字符串
添加回答
举报
0/150
提交
取消