Я использую следующий код для добавления большого РОМА на мобильный браузере (WebKit):Создание и добавление большого DOM с javascript - самый оптимизированный способ?
1. while(i--) // 'i' ranges from 10 to possibly 1000
2. {
3. var html01 = ['<div class="test">', someVal[i],'</div>',
4. '<div><p>', someTxt.txt1, anotherVal.val[i], '</p></div>',
5. // lots of html snippets interspersed with variables that differ in each loop iteration
6. // on average ~40 to 50 elements in this array
7. ].join('');
8. var fragment = document.createDocumentFragment(),
9. div = fragment.appendChild(document.createElement('div'));
10. div.appendChild(jQuery(html01)[0]);
11. someArray[someArray.length] = fragment;
12. } //end while loop
13. jQuery('#screen1').append(someArray);
14. // similarly i create 'html02' till 'html15' to append in other screen divs
Есть ли лучше или быстрее способ сделать выше? Вы видите какие-либо проблемы с кодом? Я немного беспокоюсь о строке 10, где я обертываю jquery, а затем вынимаю его.
Похоже, вы делаете намного больше, чем вам нужно. Есть ли причина, по которой вы создаете новый фрагмент для каждой итерации цикла? Кроме того, добавляются ли элементы одинаково? – user113716
Нет, добавляемые элементы не идентичны. Извините за то, что я не понимаю. Я только что редактировал мой код – fenderplayer
@patrick, да! я должен поместить все «html01» в «someArray», а затем добавить его к фрагменту вне цикла, не так ли? – fenderplayer