Page 35 - jQuery для начинающих
P. 35
Оптимизируем выборки
Ну перво-наперво вам следует запомнить, что
результаты поиска не кэшируются, каждый раз, запрашивая элементы по
селектору, вы инициируете поиск элементов снова и снова
Взглянув на алгоритм работы Sizzle, сходу напрашиваются несколько советов об
оптимизации по работе с выборками:
1. Сохранять результаты поиска (исходя из постулата выше):
// было
$("a.button").addClass("active");
/* ... .*/
$("a.button").click(function(){ /* ... .*/ });
// стало
var $button = $("a.button");
$button.addClass("active");
/* ... .*/
$button.click(function(){ /* ... .*/ });
2. Или использовать цепочки вызовов (что по сути аналогично первому правилу):
// было
$("a.button").addClass("active");
$("a.button").click(function(){ /* ... .*/ });
// стало
$("a.button").addClass("active")
.click(function(){ /* ... .*/ });
3. Использовать context (это такой второй параметр при выборе по селектору):
// было
$(".content a.button");
// стало
$("a.button", ".content");
$(".content").find("a.button",); // чуток быстрее
35
www.trk.kg