javascript - 与 documentFragment 一起使用时,appendChild() 替代方案?

标签 javascript dom

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

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

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

提前致谢...kaidez

最佳答案

只要您不尝试在浏览器仍在渲染的元素上使用 appendChild() 就没有任何问题。等到 DOMContentLoadedload 事件在文档上触发,就可以了。

关于javascript - 与 documentFragment 一起使用时,appendChild() 替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11136338/

相关文章:

javascript - 为什么我的 JavaScript 调用在将文档类型切换为 HTML5 后无法在表单中工作

javascript - 如何为数组中的对象指定自定义名称?

javascript - Dart 中未定义 new Image()

javascript - Flask:在整个应用程序中记住变量 + DOM 操作

javascript将事件绑定(bind)到类名的更改

javascript - 循环 JavaScript

javascript - 如何在 setTimeout() 中设置构造函数对象的值?

javascript - 写入 "e && e.preventDefault()"以通过 JsLint 的最佳做法是什么?

javascript - django 奇怪的 Angular js 行为

Java 转换器 w3c.dom.document 到 inputstream