jquery - $.clone 和 .cloneNode

标签 jquery clone clonenode

我对 jQuery $.clone 和原始 .cloneNode 属性之间的区别有点困惑。

如果我这样做

$('blah').cloneNode(true) 这将在 jQuery 空间之外创建一个全局对象。

如果我使用

$('blah').clone(true) 这将在 jQuery 空间内创建一个 jQuery 对象,但复制包括事件在内的所有内容?

如果我使用 jQuery,我应该坚持使用 .clone 吗?如果我从 .cloneNode 更改代码会有什么影响吗?

最佳答案

一些事情。您在 this 上调用 cloneNode,而不是 $(this)。其次,使用 cloneNode 您无法克隆与原始节点关联的事件,而使用 jQuery 的 clone,它会克隆事件数据(如果设置了第一个标志)。设置clone 的第二个标志会克隆原始元素的子元素及其它们 元素。

根据您的需要相应地使用。

关于jquery - $.clone 和 .cloneNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9476972/

相关文章:

java - 深拷贝 : Orika vs SerializationUtils

java - RemoveChild 删除具有该名称的第一个子项,但跳过下一个具有相同名称的子项

javascript - 关于文本输入焦点值变化

javascript - 使用 jQuery 隐藏点击行

html - 为什么 jQuery.live 函数不能用于静态元素?

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

angular - angular2中如何动态添加克隆节点(相当于cloneNode)

javascript - 打印 javascript 阻止我的链接

Git 克隆错误的仓库

actionscript-3 - AS3 - 如何复制 Sprite / Sprite 图形?