element.cloneNode(true)(深度克隆)的效率如何?

Joe*_*elB 5 javascript xml clonenode

我正在 XML DOM 对象中构建 HTML 代码,以用作使用 XSL 模板的 div 元素的 innerHTML 的内容。传统上,我们创建一个新的 XML DOM 文档,并将输入参数添加为 XML 元素,以便通过 javascript 进行转换。这非常耗时,因为我们基本上是从代表我们当前帐户的另一个 XML 文档中手动选取数据,并将数据复制到瞬态 XML DOM 文档中。

我想做的是克隆帐户文档的相关节点(即客户信息)并将其用作转换的基础。我不想直接使用帐户文档,因为我希望能够添加转换特定输入,而不对帐户对象进行更改。

对于通常包含 2000 多个元素的文档中通常少于 200 个元素的所需节点,使用 .cloneNode(true) 的效率如何?目标平台是IE6,没有外部工具(即ActiveX)。

Ant*_*nes 3

CloneNode 非常高效,但这样做会消耗更多内存。

另一种需要考虑的方法是使用模板对象和处理器,将附加/更改的数据作为参数传递给处理器以及原本克隆为输入元素的元素。不过,这种方法需要对 XSL 进行相当重要的修改。