我正在尝试使用 documentFragment() 从头开始构建一个部分标记。它将包括一个 h1 标签和一个文章标签,这些标签最初是通过appendChild() 添加的。此部分标记也将在某个时刻被克隆并使用cloneNode()进行调整。
然后我发现appendChild() is buggy in IE以及来自 Nick Zakas 的文章, Paul Irish和 Steve Souders量化appendChild有多糟糕。我通过 S.O. 进行了搜索。对于替代方案,使用 insertBefore 和 firstChild 似乎是普遍共识。由于我想在其他节点中插入节点,因此我不确定 insertBefore 是否是一个选项。
公平地说,这可能不是最有效的代码。在包含页面上所有子节点的部分标记中进行编码可能比编写所有内容的脚本然后将其加载到页面上更快。当我克隆它时,很容易找到带有firstChild的子节点,然后调整它们。但在这样做之前,我只想确保除了appendChild()之外没有其他方法可以在元素内插入节点?
提前致谢...kaidez
最佳答案
只要您不尝试在浏览器仍在渲染的元素上使用 appendChild()
就没有任何问题。等到 DOMContentLoaded
或 load
事件在文档上触发,就可以了。
关于javascript - 与 documentFragment 一起使用时,appendChild() 替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11136338/