Может кто-нибудь объяснить мне, почему обычный Append в цикл работает лучше, чем AppendTo?JQuery - Append vs AppendTo
//Using Regular Append
var ul = $("<ul></ul>");
$("#myDiv").empty().append(ul)
$.each(movies, function (count, item) {
var id = 'li_' + count;
ul.append('<li id=' + id + '>' + item + '</li>');
$('#' + id).click(function() { });
});
//Using AppendTo
var div = $("#myDiv").empty(),
ul = $("<ul></ul>").appendTo(div);
$.each(movies, function (count, item) {
$('<li>' + item + '</li>').click(function() { }).appendTo(ul);
});
Результат http://jsperf.com/sdp-jquery-append/3
Добавлены несколько более быстрых опций: http://jsperf.com/sdp-jquery-append/4 – techfoobar
Просто боковое: когда вы используете 'append', вы добавляете строку. Когда вы используете 'appendTo', вы добавляете объект jQuery. 'append' все еще немного быстрее, но разница в производительности намного меньше при использовании' append' с объектом jQuery (http://jsperf.com/sdp-jquery-append/6). Я предполагаю, что при создании объекта есть несколько дополнительных накладных расходов, когда вы создаете объект, а затем вызываете методы на этом объекте, а не выбираете кешированный объект и добавляете к нему. – billyonecan