我听过很少的方法:
然而,我很困惑如何做2.将所有子元素从div A移动到div B而不迭代所有子元素的最佳方法是什么。
答案 0 :(得分:4)
您还可以使用随时附加所有内容的文档片段
var fragment = document.createDocumentFragment();
fragment.appendChild(...)
fragment.appendChild(...)
...
element.appendChild(fragment)
答案 1 :(得分:2)
根据this source,最快的是简单地遍历元素并附加它们。
远比创建随机div更好的是创建一个文档片段并附加到该片段。然后,可以将所述片段添加到dom
var fragment = document.createDocumentFragment()
arr.forEach(el => fragment.appendChild(el))
element.appendChild(fragment)
我制作了一个jsPerf,其中包含有关这两者中哪一个更快的实验。看来使用文档片段与我的有限测试(一个浏览器,一个操作系统)的原始附加相同
答案 2 :(得分:1)
为什么不在深度模式中使用 cloneNode() :
// Copy the element and its child nodes
var cln = itm.cloneNode(true);
// Append the cloned element to the new div with id="new_div"
document.getElementById("new_div").innerHTML(cln);
希望这有帮助。