有人可以解释为什么常规追加到循环比AppendTo更好吗?Jquery - AppendTo 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 2013-05-02 09:04:11
只是一个旁注:当你使用'append'时,你追加一个字符串。当你使用'appendTo'时,你正在附加一个jQuery对象。 'append'仍然稍微快一点,但是当使用'append'和一个jQuery对象时,性能差异要小得多(http://jsperf.com/sdp-jquery-append/6)。我猜想在使用'appendTo'作为首先创建对象时,会有一些额外的开销,然后调用该对象上的方法,而不是选择一个缓存对象,并追加到它。 – billyonecan 2013-05-02 09:40:40