问题标签 [clonenode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
8696 浏览

javascript - 使用 cloneNode(true) 后如何维护正确的 Javascript 事件

我有一个包含多行输入的表单元素。将每一行视为我想在我的 Web 应用程序中创建的新对象的属性。而且,我希望能够在一个 HTTP POST 中创建多个新对象。我正在使用 Javascript 的内置 cloneNode(true) 方法来克隆每一行。问题是每个输入行还有一个附加到其 onclick 事件的删除链接:

单击克隆的输入行的删除链接时,它还会删除从同一 dom 对象克隆的任何输入行。在上述 DOM 元素上使用 cloneNode(true) 后,是否可以将“this”对象重新绑定到正确的锚标记?

0 投票
3 回答
7460 浏览

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

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

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

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

0 投票
1 回答
3225 浏览

javascript - documentFragment.cloneNode(true) 不克隆 jQuery 数据

我有一个包含几个子节点的 documentFragment,其中添加了一些 .data(),如下所示:

当我尝试将 documentFragment 附加到页面上的 div 时:

我可以很好地访问数据:

但是如果我用 cloneNode(true) 克隆节点,我就无法访问节点的数据。:(

有没有其他人这样做或知道解决方法?我想我可以将行的数据存储在 中jQuery.data('#some_random_parent_div', 'rows', [array of ids]),但这有点违背了使数据立即/易于用于每一行的目的。

我还读到 jQuery 使用 documentFragments,但我不确定具体是如何使用的,或者使用什么方法。有没有人有更多的细节?

重新编辑:.clone(true)

0 投票
1 回答
7858 浏览

javascript - 将所有子节点复制到其他元素的本机方式

我必须更改 XML 的“未知”内容。结构和内容本身是有效的。原来的

变成

因此,直接在文档根节点 (document.documentElement) 下添加一个子节点,并在其下“推送”“原始”子节点。在这里,它必须用纯 javascript (ecmascript) 完成。

现在的想法是

如何做到这一点 /* */ 步骤?或者,也许有人通常有更好的解决方案来实现理想的结果?
先感谢您!

答:maerics 的解决方案非常有效。

0 投票
4 回答
6992 浏览

javascript - Internet Explorer 中的克隆节点

执行以下代码时,IE 会抛出错误——对象不支持此属性或方法——指的是 cloneNode() 方法。'i' 是循环计数器,source 和 dest 都是 HTML 选择元素。

FF 和 Chrome 的行为符合预期。关于如何让 IE 执行 cloneNode() 的任何想法?IE 8 调试器显示 source.options[i] 确实有一个 cloneNode() 方法。

谢谢。

0 投票
1 回答
1530 浏览

php - 使用 SimpleXML 将节点从一个 XML 文档移动到另一个

我意识到仅使用 SimpleXML 是不可能实现我的请求的——我确实明白了这一点。这是我尝试过的:

我意识到第 5 行的代码错误,因为 importNode 是 dom 文档的函数,而不是 dom 元素,但是我怎样才能让 dom 文档执行这一步呢?

我会以正确的方式解决这个问题吗?

在宏伟的计划中,我有一个至少有 10 个节点的 XML 文件,每天都有一个 CRON 作业检查是否有超过 10 个节点,如果是,它应该将节点从当前文件移动到存档文件中. 我想我会通过将节点复制到存档文件并将其从原始文件中删除来“移动”节点。

谢谢你的帮助!

0 投票
1 回答
347 浏览

javascript - 使用克隆函数加载输入文本行等于传递的变量号的表单

我想要做的(使用 PHP 就很容易了,但我现在通过修改脚本来推动自己学习更多的 javascript 和 jQuery 以及前端编码以了解它们的作用)就是构建一个具有相同功能的表单行数作为“座位”变量从以前的表格中规定。然后登记者可以输入他们所带来的客人的姓名。我正在尝试使用 cloneNode 功能。但我无法弄清楚这里发生了什么足以理解如何在不使用此脚本中包含的“添加行”表单按钮的情况下规定创建的行数。

这是我正在使用的代码。我只想要一个变量名称“座位”等于创建的行数。谢谢!:

0 投票
1 回答
1430 浏览

javascript - javascript cloneNode and properties

Is there a quick way to "super" deep clone a node, including its properties? (and methods, I guess)

I've got something like this:

The new cloned object has no dictator property. Now, say I've got a thousand properties attached to theSource - how can I (non-explicitly) transfer/copy them to the clone?

// EDIT

@Fabrizio

Your hasOwnProperty answer doesn't work properly, so I adjusted it. This is the solution I was looking for:

0 投票
1 回答
2475 浏览

javascript - 如何使用 JavaScript 复制包含其功能的按钮?

我有一个附加一些元素的按钮。我想要一个复制此按钮的按钮。

我发现了一些关于 的文章clone(),但我相信那是 jQuery?

我似乎找不到答案,但我想是这样的:

好吧,至少这对我来说有点意义,但当然它不起作用。我怎样才能做到这一点?

0 投票
3 回答
9198 浏览

javascript - 在 Javascript 中克隆元素 [div] [script]

我正在尝试用纯 Javascript 克隆一个 div,但是,cloneNode 会导致重复的 id (div_0)。我想将 id 增加为 div_1, div_2... 并对 somevar = {'elem', 'div_1'} 执行相同操作...谢谢