目前,仅使用字符串填充文档片段的唯一方法是创建一个临时对象,然后循环遍历子对象以将它们附加到片段中。
- 由于它没有附加到文档中,因此不会渲染任何内容,因此不会影响性能。
- 您会看到一个循环,但它只是循环通过第一个孩子。大多数文档只有几个半根元素,所以这也不是什么大问题。
如果要创建整个文档,请改用 DOMParser。看看这个答案。
代码:
var frag = document.createDocumentFragment(),
tmp = document.createElement('body'), child;
tmp.innerHTML = '<div>x</div><span>y</span>';
while (child = tmp.firstElementChild) {
frag.appendChild(child);
}
单行(两行便于阅读)(输入:String html
,输出:) DocumentFragment frag
:
var frag =document.createDocumentFragment(), t=document.createElement('body'), c;
t.innerHTML = html; while(c=t.firstElementChild) frag.appendChild(c);