与documentFragment一起使用时,appendChild()替代?

时间:2012-06-21 10:38:52

标签: javascript dom

我正在尝试使用documentFragment()从头开始构建一个section标记。它将包含一个h1标签和一个文章标签,最初是用appendChild()添加的。此部分标记也将在某个时刻克隆并使用cloneNode()进行调整。

然后我发现appendChild() is buggy in IE以及来自Nick ZakasPaul IrishSteve Souders的文章量化了appendChild的糟糕程度。我搜索了S.O.替代方案和使用insertBefore和firstChild似乎是普遍的共识。由于我想在其他节点中插入节点,我不确定insertBefore是否是一个选项。

公平地说,这可能不是最有效的代码。使用页面上的所有子节点在section标签中编码可能更快,然后编写所有内容,然后将其加载到页面上。当我克隆它时,很容易用firstChild找到子节点然后调整它们。但在我这样做之前,我只是想确保除了appendChild()之外的其他元素中没有其他方法可以插入节点吗?

提前致谢... kaidez

1 个答案:

答案 0 :(得分:2)

只要您不尝试在仍由浏览器呈现的元素上使用它,appendChild()就没有错。等到DOMContentLoadedload事件触发文档,您就可以了。