클론 (true) + remove () vs. detach () jQuery
문제
사용법입니다
e = elem.clone(true);
elem.remove();
동일합니다
e = elem.detach();
나중에 나는 그것을 추가합니다
e.appendTo($("#someDiv"));
jQuery 1.4에서?
클론 (True) 메소드는 Detach ()를 사용하여 모든 것을 보존합니까?
해결책
동일하지만 다른 : 변수에 할당하지 않고 노드를 복제하면 복사 된 노드의 참조를 잃어 버릴 수 있으므로 이벤트 처리기 및 기타 데이터 (사실이 아니라 PITA)에서 손을 얻을 수 있습니다.
편집하다
예, 복제 된 요소에 대한 참조를 사용하면 나중에 DOM에 추가 될 수있는 정확한 사본 (진정한 매개 변수)이 있습니다.
다른 팁
내가 읽는 방식은 동등한 접근법이 될 것입니다.
에서 Detach ()에 대한 문서:
.detach () 메소드는 .detach ()가 제거 된 요소와 관련된 모든 jQuery 데이터를 유지하는 것을 제외하고 .remove ()와 동일합니다. 이 방법은 제거 된 요소가 나중에 DOM으로 다시 삽입 될 때 유용합니다.
에서 클론 문서 ():
.Clone ([WithDataAndevents])
withdataandevents 이벤트 핸들러를 요소와 함께 복사 해야하는지 여부를 나타내는 부울. jQuery 1.4 요소 데이터도 복사됩니다.
제휴하지 않습니다 StackOverflow