我对jQuery $.clone
和原始.cloneNode
属性之间的区别感到困惑。
如果我在做
$('blah').cloneNode(true)
这将在jQuery空间之外创建一个全局对象。
如果我使用
$('blah').clone(true)
这将在jQuery空间内创建一个jQuery对象,但是复制包括事件在内的所有东西?
如果我使用jQuery,我应该坚持使用.clone
,如果我从.cloneNode
更改我的代码会有任何影响吗?
答案 0 :(得分:11)
一些事情。您在cloneNode
而非this
上致电$(this)
。其次,使用cloneNode
,您无法克隆与原始节点关联的事件,而使用jQuery的clone
,它会克隆事件和数据(如果设置了第一个标志) )。设置clone
的第二个标志克隆原始元素的子元素和它们的元素。
根据您的需要使用。