Этот селектор jQuery очень медленный. Зачем? - PullRequest
1 голос
/ 19 апреля 2011

Я создаю простой объект jQuery, передавая некоторую строку HTML.В IE7, однако, предупреждение говорит мне, что это занимает около 125 мс.

var timeStart = new Date();
var allTabs = jQuery(tmbJsContent);

var timeEnd = new Date();
alert(timeEnd-timeStart);

tmbJsContent содержит html для 10 элементов div, который содержит таблицы внутри.Я понимаю, что это немного долго, но поскольку DOM не манипулируют, а создается только один объект jQuery.Что может занять так много времени?Как я могу сделать это быстрее?

Спасибо

Ответы [ 2 ]

3 голосов
/ 19 апреля 2011

Создать элемент контейнера и обновить его innerHTML содержимое

var container = document.createElement("div");
container.innerHTML = tmbJsContent;

Должно занять около миллисекунды:)

1 голос
/ 19 апреля 2011

Чтобы действительно ответить на это, нам нужно увидеть значение tmbJsContent ...

Тем временем , если ваш селектор работает медленно, попробуйте ограничить «область поиска» для селектора, передав контейнер (как контекст).

Пример: 1011 *
*

var context = jQuery('#SomeContainer');
var target = jQuery('MySelector', context);

Это ограничивает поиск селектора переданным контейнером.

...