В целях этого вопроса скажем, нам нужно append()
1000 объектов элементу body
.
Вы можете сделать это следующим образом:
for(x = 0; x < 1000; x++) {
var element = $('<div>'+x+'</div>');
$('body').append(element);
}
Это работает, однако мне кажется неэффективным для меня, как AFAIK, это вызовет 1000 пересчетов документов. Лучшим решением будет:
var elements = [];
for(x = 0; x < 1000; x++) {
var element = $('<div>'+x+'</div>');
elements.push(element);
}
$('body').append(elements);
Однако это не идеальный мир, и это вызывает ошибку Could not convert JavaScript argument arg 0 [nsIDOMDocumentFragment.appendChild]
. Я понимаю, что append()
не может обрабатывать массивы.
Как я могу использовать jQuery
(я знаю о DocumentFragment node, но предполагаю, что мне нужно использовать другие функции jQuery для элемента, такого как .css()
) добавить кучу объектов в DOM сразу для повышения производительности?