jQuery追加/前置循环 - 所有元素一起显示在一起

时间:2016-05-19 13:27:59

标签: javascript jquery loops

我有一个循环,我将一个元素追加/前置到父元素中。在循环结束之前,jQuery不会显示任何子元素。

以下面的代码为例:

var i=0;
while (i < 10000) {
    $('#content').prepend($('<div>').html(++i).append($('<br>')));
}

https://jsfiddle.net/minlare/rancec7m/

有没有办法确保逐个显示单个元素?

1 个答案:

答案 0 :(得分:2)

很简单,没有,但是它比浏览器的渲染器要多于jQuery。

另请注意,创建一个长HTML字符串并使用单个append()调用DOM比将10,000个相对较小的字符串附加到DOM会快得多。

var i = 10000, html = '';
while (i > 0) {
    html += '<div>' + i-- + '</br></div>';
}
$('#content').append(html);

Updated fiddle

如果你肯定希望每个div的效果一个接一个地出现,你可以使用一个队列,但它不会很快。