【发布时间】:2012-01-02 09:13:22
【问题描述】:
我正在创建一个文档片段,如下所示:
var aWholeHTMLDocument = '<!doctype html> <html><head></head><body><h1>hello world</h1></body></html>';
var frag = document.createDocumentFragment();
frag.innerHTML = aWholeHTMLDocument;
变量aWholeHTMLDocument包含一个长字符串,它是一个页面的整个html文档,我想将它插入到我的fragment中,以便动态生成和操作DOM。 p>
我的问题是,一旦我将该字符串添加到frag.innerHTML,它不应该加载该字符串并将其转换为 DOM 对象吗?
设置innerHTML后,我不应该通过属性访问DOM吗?
我尝试了 frag.childNodes 但它似乎不包含任何内容,我只想访问新创建的 DOM。
【问题讨论】:
-
我不确定任何 DOM 元素的“innerHTML”(文档片段实际上只是一个不能成为 DOM 一部分的 DOM 元素)是否是完整的HTML 文档。如果可能的话,您的问题的答案是“是”。
-
你只做一次 .innerHTML 而不是 .appendChild(frag) 。它比创建文档片段更快,因为字符串处理更快。
标签: javascript dom dom-manipulation