Ядро функциональности jQuery сосредотачивается вокруг данной функции. Всё в jQuery основано на ней или с использованием данной функции. Большинство основ используют данную функцию для передачи выражения (обычно состоящего из CSS), которое затем находит все подходящие элементы. По умолчанию, если контекст не был указан, функция $() просматривает все DOM элементы в нутри контекста текущей HTML страницы. Если вы укажете определенный контекст, такой же как у DOM элемента или jQuery объекта, выражение найдёт элемент с данным контекстом. Используйте Selectors, где описывается правильный синтаксис CSS выражений.
В приведенной ниже формулировке, метод $() ищет по структуре DOM элемнты соответсвуюище указанному выражению и создаёт новый объект который ссылаетеся на данные элементы. $('div.foo');
Контекстный селектор (второй параметр функции - selecror)
По умолчанию селектор осуществляет поиск внутри структуры DOM, начиная с её корневого элемента. Однако во втором параметре функции $() Вы можете определить контекст поиска. Например, для того чтобы ограничить поиск элемента в функции обратного вызова Вы можете использовать контекстный селектор.
$('div.foo').click(function() { $('span', this).addClass('bar'); });
В этом примере мы ограничили элемент span контекстным элементом на который указывает объект this, то есть только те элементы span будут выбраны, которые находятся внутри элемента на котором сработало событие click, то есть внутри элемента с id foo.
Данный способ используется внутренне в методе find(), то есть $('span', this) эквивалентен $(this).find('span').
Использование элементов DOM
Тертий и второй вариант данного метода позволяют нам создавать jQuery объкет используя элемент(ы), который(е) мы нашли с помощью других методов. Простой способ проверить это - вызывать jQuery метод для элемента, который передаётся в фнуцию обратного вызова через объект this.
$('div.foo').click(function() { $(this).slideUp(); });
Данный пример демонстрирует скрытие элемента с эффектом анимации после того как по нему нажали. Так как обработчик события получает необработанный элемент, поэтому мы должны поместить его в объект jQuery, до того как к нему будут применены какие либо методы.
Указанное правило аналогичным образом должно применяться и для данных получаемых из XML документа, для того чтобы с ними было удобнее работать. После того как Вы поместите XML данные в обекът jQuery, Вы сможете использовать данный объект для поиска в нем отдельных элементов, расположенных в XML структуре, используя метод find() или иной метод прохождения по элементам(см. раздел Traversing).
Клонирование объектов Jquery
Если в качестве параметра метода $() передаётся объект jQuery, то создаётся копия объекта. По сути копия является новым jQuery объектом ссылающимся на элементы исходного объекта.
Возврат пустого набора
Начиная с jQuery 1.4 при не передаче аргументов в данный метод, будет возвращен пустой набор. В предыдущих версиях Jquery был бы возвращен узел document.
Пример:
Пример:
Пример: