Значение "this.el" в $('ul', this.el)

Я просто просматриваю некоторые справочные руководства, и у меня есть общий вопрос jQuery, о котором я действительно интересовался некоторое время.

Иногда я вижу вызовы со вторым параметром в селекторе jQuery, например $('ul', this.el).

Какова цель этого второго параметра в селекторе? И я не имею в виду в контексте каких-либо базовых примеров, просто в общем, какова цель передачи второго параметра в селекторе и почему он всегда является объектом, который там передается? Я не могу найти документацию по этому вопросу.

Ответы

Ответ 1

Он сужает поиск тега ul внутри элемента DOM компонента представления.

Ответ 2

Значение идентично:

$(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 - ваш первый аргумент.