相关疑难解决方法(0)

jQuery追加一个元素数组

出于这个问题的目的,我们可以说我们需要append()1000个body元素对象.

你可以这样做:

for(x = 0; x < 1000; x++) {
    var element = $('<div>'+x+'</div>');
    $('body').append(element);
}
Run Code Online (Sandbox Code Playgroud)

这是有效的,但是对我来说似乎效率低,因为AFAIK会导致1000次文件回流.更好的解决方案是:

var elements = [];
for(x = 0; x < 1000; x++) {
    var element = $('<div>'+x+'</div>');
    elements.push(element);
}
$('body').append(elements);
Run Code Online (Sandbox Code Playgroud)

然而,这不是一个理想的世界,这会引发错误Could not convert JavaScript argument arg 0 [nsIDOMDocumentFragment.appendChild].我明白append()无法处理数组.

我将如何使用jQuery(我知道DocumentFragment节点,但假设我需要在元素上使用其他jQuery函数.css()),一次向DOM添加一堆对象以提高性能?

javascript arrays performance jquery append

48
推荐指数
4
解决办法
9万
查看次数

标签 统计

append ×1

arrays ×1

javascript ×1

jquery ×1

performance ×1