Несколько параметров для селектора jQuery?

Я просто смотрел на плагин кнопки jQueryUI и заметил это

$("button, input:submit, a", ".demo").button();

Я никогда не видел ничего подобного. Это похоже на несколько выборок в одном селекторе jQuery?

Ответ 1

Второй аргумент (".demo" в вашем примере) - это контекст, в основном ваш селектор ограничен, чтобы соответствовать только потомкам определенного контекста:

$(expr, context)

Это просто эквивалентно использованию метода find:

$(context).find(expr)

Посмотрите на документацию функции jQuery:

Контекст селектора

По умолчанию селекторы выполняют свои поиск в DOM, начиная с корень документа. Однако альтернативный контекст может быть задан для поиск с использованием дополнительной секунды параметр в функцию $(). Для Например, если внутри функции обратного вызова мы хотим выполнить поиск элемента, мы можем ограничить этот поиск:

$('div.foo').click(function() {
  $('span', this).addClass('bar');
  // it will find span elements that are
  // descendants of the clicked element (this)
});

Также обратите внимание, что селектор, который вы отправляете "button, input:submit, a", называется Multiple Selector, и там вы можете указать любое количество селекторов для объединения в один результат, просто разделив их запятой.