这个词汇的使用是否
e = elem.clone(true);
elem.remove();
与...相同
e = elem.detach();
如果我稍后添加它,使用标签:
e.appendTo($("#someDiv"));
在jQuery 1.4中,clone(true)方法是否能够像detach()方法一样保留所有内容?
同样但不同:如果您只克隆节点而没有将其分配给变量,则会丢失所复制节点的引用,因此无法获得其事件处理程序和其他数据的机会(这并不完全正确,但很麻烦)。
编辑
是的,如果保留对克隆元素的引用,您将拥有一个精确的副本(请注意true参数),稍后可以将其附加到DOM中。
我读到的方式,这些方法是等效的:
根据detach()文档:
.detach() 方法与 .remove() 方法相同,唯一不同的是 .detach() 会保留所有与移除元素相关的 jQuery 数据。当需要在稍后的时间将被移除的元素重新插入到 DOM 中时,该方法非常有用。
根据clone()文档:
.clone( [ withDataAndEvents ] )
withDataAndEvents 是一个布尔值,指示是否连同元素一起复制事件处理程序。从 jQuery 1.4 开始,也会复制元素数据。