#jquery
#jquery
Вопрос:
Я пытаюсь написать функцию и для простоты хочу создать несколько переменных для повторного использования, однако я немного запутался, как выбрать элемент, когда родительский элемент является переменным.
Могу ли я сделать что-то вроде:
var parent_em = $('#my_container'),
child_em = $('.my_child_em', parent_em);
вместо
$('#my_container').find('.my_child_em')...
или
$('#my_container .my_child_em')...
Комментарии:
1. ДА. Что произошло, когда вы попробовали это?
2. Вы также можете сделать
var child_em = parent_em.find(".my_child_em");
3. Спасибо. Я также хотел создать переменную для дочернего элемента, поскольку она будет использоваться в функции позже. Но, в целом, это правильный синтаксис?
Ответ №1:
Если вы рассматриваете первый подход:
child_em = $('.my_child_em', parent_em);
вам нужно рассмотреть, как работает конструктор jQuery:
jQuery( селектор [, контекст ] ): По умолчанию селекторы выполняют поиск в DOM, начиная с корня документа. Однако для поиска можно задать альтернативный контекст, используя необязательный второй параметр функции $(). Например, для выполнения поиска в обработчике событий поиск может быть ограничен.
Следовательно, это идеальный способ уменьшить контекст, в котором выполняется поиск.