$ .clone和.cloneNode

时间:2012-02-28 05:42:14

标签: jquery clone clonenode

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

如果我在做

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

如果我使用

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

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

1 个答案:

答案 0 :(得分:11)

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

根据您的需要使用。