jQuery и добавляющий большой объем HTML

Очень просто и без объяснения преимуществ использования Function s, вы можете представить себе, что ваша функция является аналогом:

HashSet anonymousMethod(String x) {
    return doSomething(x);
}

... который находится анонимно в вашем функциональный объект.

7
задан Augustin 3 September 2017 в 13:29
поделиться

8 ответов

Существует проблема производительности с jQuery и вставкой большой строки HTML к DOM, из-за его $ .trim функция.

Я иногда нахожу простые сценарии dom намного быстрее, чем использование jQuery. Попробуйте что-то как

document.getElementById('id').innerHTML = myarray.join('')
7
ответ дан 6 December 2019 в 14:10
поделиться

Знайте, что часто узкое место скорости не создает DOM, но вставляет DOM. Это особенно верно на IE со сложными таблицами стилей и когда новое содержание содержит много уровней вложенных тегов.

См.: http://bitkickers.blogspot.com/2008/12/ajax-grid-performance-in-ie.html

4
ответ дан 6 December 2019 в 14:10
поделиться

Вы рассмотрели использование библиотеки шаблонной обработки? ЧИСТЫЙ имеет очень хорошую производительность, например (испытайте 500 примеров строки).

3
ответ дан 6 December 2019 в 14:10
поделиться

я бездельничал с добавлением большого объема HTML вчера. я думаю, представляя на стороне сервера, и вставка является способом пойти, также я могу добавить, это, не использование jQuery быстрее 50-100ms в моих тестах, которые являются здесь:

http://programmingdrunk.com/playground

необходимо будет позволить консоли поджигателя видеть результаты скорости

0
ответ дан 6 December 2019 в 14:10
поделиться

Попытайтесь клонировать части самого DOM вместо того, чтобы генерировать его на лету (т.е. добавьте фактический DOMElements, таким образом, они не должны быть созданы).

1
ответ дан 6 December 2019 в 14:10
поделиться

Преследование является правильным, не имеет значения, как быстро можно генерировать HTML через JavaScript, это - вставка DOM, которая уничтожит Вас. Свяжите любой язык программирования DOM, и это будет медленно.

Мои единственные предлагают, должен был нумеровать страницы таблицу, таким образом, Вы не загружаете так многих сразу, или возможно не использовать Ajax вообще.

0
ответ дан 6 December 2019 в 14:10
поделиться

Вы, вероятно, получили бы лучшую производительность, если Вы делаете поколение HTML на стороне сервера и затем используете Ajax, чтобы получить HTML и добавить ее к Вашему DOM. (Я предполагаю, что Вы получаете все данные из сервера с помощью Ajax так или иначе.)

-1
ответ дан 6 December 2019 в 14:10
поделиться

В моем случае, document.getElementById ('идентификатор') .innerHTML = myarray.join ('') также уничтожитель, так как массив имеет 10 строк HTML. Соединения создали бы большую длинную строку, и nnerHTML производительность значительно варьируется между 100 мс к 1 200 мс на IE 7.

какие-либо ущелья?

0
ответ дан 6 December 2019 в 14:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: