Jquery $.clone和.cloneNode

Jquery $.clone和.cloneNode,jquery,clone,clonenode,Jquery,Clone,Clonenode,我对jQuery$.clone和raw.cloneNode属性之间的区别感到有点困惑 如果我正在做 $('blah').cloneNode(true)这将在jQuery空间之外创建一个全局对象 如果我使用 $('blah').clone(true)这将在jQuery空间内创建一个jQuery对象,但复制包括事件在内的所有内容 如果我使用jQuery,我应该坚持使用.clone吗?如果我从更改代码,cloneNode会有什么效果吗?一些事情。您在this上调用cloneNode,而不是$(this

我对jQuery
$.clone
和raw
.cloneNode
属性之间的区别感到有点困惑

如果我正在做

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

如果我使用

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


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

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


根据需要相应地使用。

要回答第一个问题,它会复制事件,但不会复制子事件或它们的事件。要回答第二个问题,我会使用
clone
,如果jQuery是主要使用的库。但是这是一个偏好问题,您仍然需要使用任一克隆方法将每个新节点追加回包含元素中。最后,如果您正在寻找好的参考资料,这里是jQuery的
clone
:这是DOM的
cloneNode
:jQuery的clone()不是调用cloneNode()吗?我想我在查看代码的时候看到了。。。