Ответ 1
Он сужает поиск тега ul
внутри элемента DOM компонента представления.
Я просто просматриваю некоторые справочные руководства, и у меня есть общий вопрос jQuery, о котором я действительно интересовался некоторое время.
Иногда я вижу вызовы со вторым параметром в селекторе jQuery, например $('ul', this.el)
.
Какова цель этого второго параметра в селекторе? И я не имею в виду в контексте каких-либо базовых примеров, просто в общем, какова цель передачи второго параметра в селекторе и почему он всегда является объектом, который там передается? Я не могу найти документацию по этому вопросу.
Он сужает поиск тега ul
внутри элемента DOM компонента представления.
Значение идентично:
$(this.el).find('ul')
Внутри, после кучи тестов, jQuery выясняет, что ему нужно перевернуть его к вышеуказанному вызову .find()
, так оно и происходит и начинается.
Таким образом, предоставление контекста в качестве второго аргумента - это всего лишь более медленный способ сделать .find()
.
Здесь он находится в источнике.
// HANDLE: $(expr, context)
// (which is just equivalent to: $(context).find(expr)
} else {
return this.constructor( context ).find( selector );
}
... где this.constructor
- это функция $
, context
- ваш второй аргумент, а selector
- ваш первый аргумент.