나는 이미지와 일부 텍스트를 모두 포함하는 약 300 div의 부모 div가 있습니다. 내가 참조를 사용하여 divs를 재정렬 할 필요가있는 모든 정보를 포함하는 배열을 가지고 ..jQuery order elements, remove, detach, clone, memory leaks 추가
만약 내가 그것을 주문한 후 배열 요소를 옮긴 다음 루프를 통해 요소를 이동 시키면 accordinly 심각한 메모리 누수가 발생한다. 100MB 여분의 시간 그들을 정렬!
나는 몇 가지 방법과 여전히 성공을 시도
$.each(gameArray , function($idx, $itm) {
$("#elementid"+ $itm.split('|#|')[0]).appendTo($("#parent"));
});
또 다른 시도
$.each(gameArray , function($idx, $itm) {
var element = $("#elementid"+ $itm.split('|#|')[0]).detach();
element.appendTo($("#parent"));
element = null;
});
내가 분리가 DOM에서 요소를 이렇게 계속 읽었
$.each(gameArray , function($idx, $itm) {
var element = $("#elementid"+ $itm.split('|#|')[0]).clone(true).remove();
element.appendTo($("#parent"));
element = null;
});
또 다른 시도 다시 페이지에 넣을 때 아무것도 재현하지 못하고 메모리를 늘리지는 않지만 그렇게합니다. NT는 작동하는 것 같다!
뭔가 빠졌습니까? 그만큼 메모리를 늘리지 않고 정렬 할 수있는 방법이 있어야합니까?
모든 예제에서는 약 10 개의 목록 요소가있는 정렬 된 목록을 사용하고 있기 때문에 메모리 증가를 알 수 없습니다! 이 예와 같이
는 jQuery를없이 DOM 요소를 이동 시도? 어쩌면 jquery 객체의 끊임없는 생성이 문제일까요? – Yoshi
아직! 아프고 지금 내 표정을 게시! – rorypicko
var parent = document.getElementById ('game_panel'); \t \t \t \t $ .each (koko.data ('newGameArray'), 함수 ($ IDX, $ ITM) { \t \t \t \t \t VAR 소자 = document.getElementById를 ('gameidis'+ $ itm.split (' | # | ') [0]); \t \t \t \t \t parent.appendChild (element.parentNode.removeChild (요소)) \t \t \t \t}); 표준 자바 스크립트를 사용하면 같은 누출이 발생합니다! – rorypicko