【发布时间】:2016-11-05 22:53:06
【问题描述】:
我搜索了 stackoverflow 问题,发现关于同一主题的问题很少,但没有一个问题能提供我正在寻找的广泛答案。大多数答案都集中在性能上,但我也在寻找其他差异。基本上,this one 简洁地总结了这个问题:
如果我在变量中创建一个元素(例如 a)但不要 将它附加到 DOM,添加元素(div、表格等)和东西 在完成所有工作之后(循环、验证、样式 元素),那个元素是附加的,和片段一样吗?
我决定再试一次,看看有没有人能给出好的答案。
那么,我为什么要使用这个:
var fragment = document.createDocumentFragment();
var divContainer = document.createElement("div");
var divHeader = document.createElement("div");
divContainer.appendChild( divHeader );
fragment.appendChild( divContainer );
document.getElementById("someElement").appendChild( fragment.cloneNode(true) );
而不是这个:
var divContainer = document.createElement("div");
var divHeader = document.createElement("div");
divContainer.appendChild( divHeader );
document.getElementById("someElement").appendChild( divContainer );
【问题讨论】:
-
@JamesThorpe,我用
Most answers are focused around performance, but I'm looking for other differences as well.更新了我的问题 -
不一样,因为 DOM 中不存在该片段,或者我错过了问题
-
问题是什么?你在寻找什么差异?未添加到 DOM 的元素只是内存中的变量,不会被浏览器渲染。你还想知道什么?
-
我认为你应该发布你自己的问题关于你有疑问。
-
@CharlieH,更新了问题
标签: javascript html dom