我有一个节点列表,nl
和一个div#parent
。
如何将nl
中的所有元素设置为div#parent
的{{1}}?
答案 0 :(得分:3)
首先清空父级,然后使用appendChild追加DOM元素
parent.innerHTML = '';
parent.appendChild(nl);
对于包含多个元素的nodeLists,需要迭代
parent.innerHTML = '';
[].forEach.call(nl, function(item) {
parent.appendChild(item);
});
答案 1 :(得分:2)
当节点列表是可迭代的时候,你可以做
for (let node of nl) parent.appendChild(node);
见Are HTMLCollection and NodeList iterables?。与此同时,你可能会有运气
NodeList.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator];
答案 2 :(得分:1)
尝试创建文档片段并将其附加。
var fragment = document.createDocumentFragment();
while(nl.length)
fragment.appendChild(nl[0]);
parent.appendChild(fragment);