Я просто читал это:
http://www.tvidesign.co.uk/blog/improve-your-jquery-25-excellent-tips.aspx
И у меня были вопросы по поводу некоторых из выдвинутых трюков:
9 - Дайте вашим селекторам контекст:
В чем разница между контекстом и более конкретным селектором?
Вместо того, чтобы делать
var selectedItem = $('#listItem' + i, $('.myList'));
Как насчет
var selectedItem = $('.myList>#listItem' + i);
Какой из них быстрее / лучше, или нет разницы?
12 - Узнайте о делегировании события:
Я бы предположил, что при малом количестве обработчиков делегирование событий происходит медленнее, чем обычное связывание.
Сколько обработчиков - время, когда вы должны начать использовать делегирование событий?
Кроме того, в чем разница (с точки зрения того, насколько быстро или насколько «хорошо» это) между использованием делегирования и созданием цели клика в dom, когда пользователь нажимает на цель клика, а затем цель клика находит элементы для манипулирования. Этот метод быстрее или делегирование быстрее?
Редактировать: Кроме того, сколько уровней вы должны делегировать? Лучше делегировать что-нибудь на 10 уровнях или просто связать 2 обработчика.
13 - Использовать классы для хранения состояния
14 - Еще лучше - использовать внутренний метод data () jQuery для сохранения состояния:
Зачем использовать данные против классов? Данные быстрее? Я думаю, что в целом я считаю, что классы легче читать, что противоречит тому, что говорится в записи в блоге, потому что я вижу это в DOM.
Спасибо!