Page 37 - jQuery для начинающих
P. 37
Примеры оптимизаций
Выбор по идентификатору элемента – самый быстрый из возможных, старайтесь
использовать оный:
// внутри одна регулярочка + getElementById()
$("#content")
// а вот так ещё быстрее
$(document.getElementById("content"))
// но экономия незначительна
// а удобство использования стремится к нулю
Селектор «div#content» работает на порядок медленнее, нежели поиск лишь по
идентификатору – «#content», но и он имеет право на существование в случае, если ваш
скрипт используется на нескольких страницах, а логика требует лишь обрабатывать
поведение для элемента «div». Данный селектор можно представить в двух вариантах:
// getElementById() + фильтрация
$("#content").filter("div");
// оставляем как есть и надеемся на QuerySelectorAll()
$("div#content");
В результате тестирования получаем следующий расклад:
— пример с использованием filter() работает быстрее в браузерах Chrome,
Firefox и IE9.0+
— оба способа работают наравне в браузерах IE8.0 и мобильном Safari
— второй пример работает в два раза быстрее в последних версиях Opera
Выводы делаем сами.
37
www.trk.kg