jQuery
DocumentFragment
hjcode
2019. 12. 20. 15:18
var $box = $('#box');
var arr = ['a','b','c','d','e','f'];
arr.forEach( item => {
$box.append( '<p>' + item + '</p>' );
});
위와 같은 방식으로 배열 등을 받아와서 동적으로 태그를 추가해주는 방식은 양이 적으면 상관없겠지만
그 양이 수백, 수천개라면 성능에도 좋지 않고 그만큼 페이지를 새로 그려야합니다. 브라우저가 힘들어할겁니다.
var $box = $('#box');
var arr = ['a','b','c','d','e','f'];
var $frag = $(document.createDocumentFragment());
arr.forEach( item => {
$frag.append( '<p>' + item + '</p>' );
});
$box.append($frag);
documentFragment를 사용하여 append해준다면 이 문제를 해결할 수 있습니다.
documentFragment에 append하는 것은 가상의 메모리에서 일어나는 일이기 때문에 브라우저와는 상관이 없습니다.
페이지를 새로 그리는 것도 한번입니다.
출처 https://www.zerocho.com/category/jQuery/post/57c3a8821efc521700a70918
반응형