JavaScript. Подробное руководство, 6-е издание
Шрифт:
Кроме того, библиотека jQuery использует функцию
jQuery
как собственное пространство имен и определяет в нем множество вспомогательных функций и свойств. Одной из таких вспомогательных функций является функция jQuery.noConflict
, упоминавшаяся выше. В числе других функций общего назначения можно назвать функцию jQuery.each
, предназначенную для выполнения итераций, jQuery.parseJSON
– для синтаксического анализа данных в формате JSON. Перечень вспомогательных функций общего назначения приводится в разделе 19.7, а другие вспомогательные функции из библиотеки jQuery описываются на протяжении всей главы. Терминология jQuery
Давайте
«функция jQuery»
Функция jQuery - это значение
jQuery
или $. Эта функция создает объекты jQuery
, регистрирует обработчики, которые вызываются, когда дерево DOM будет готово к выполнению операций, а также служит пространством имен библиотеки jQuery. Я обычно использую имя $
. Поскольку она служит пространством имен, функция jQuery может также называться «глобальным объектом jQuery», но очень важно не путать ее с «объектом jQuery
». «объект jQuery»
Объект
jQuery
– это объект, возвращаемый функцией jQuery. Объект jQuery
представляет множество элементов документа и может также называться «результатом функции jQuery», «множеством jQuery» или «обернутым набором». «выбранные элементы»
Когда функции jQuery передается CSS-селектор, она возвращает объект
jQuery
, представляющий множество элементов документа, соответствующих этому селектору. При описании методов объекта jQuery
я часто буду употреблять фразу «выбранные элементы», ссылаясь на элементы множества. Например, при описании метода attr
я мог бы сказать: «метод attr
устанавливает HTML-атрибуты выбранных элементов». Вместо более точной, но трудно читаемой фразы: «метод attr
устанавливает HTML-атрибуты элементов в объекте jQuery
, относительно которого он был вызван». Обратите внимание, что слово «выбранных» относится к CSS-селектору и не имеет никакого отношения к элементам, выбираемым пользователем. «функция библиотеки jQuery»
Функция библиотеки jQuery - это функция, такая как
jQuery.noConflict,
которая определена в пространстве имен функции jQuery. Функции библиотеки jQuery могут также упоминаться как «статические методы». «метод jQuery»
Метод jQuery- это метод объекта
jQuery
, возвращаемого функцией jQuery. Наиболее важной частью библиотеки jQuery являются мощные методы, которые она определяет. Иногда сложно уловить различия между методами объекта
jQuery
и функциями библиотеки jQuery, потому что многие методы и функции имеют одинаковые имена. Обратите внимание, что следующие две строки программного кода выполняют разные операции:
// Вызвать функцию each библиотеки jQuery, чтобы вызвать функцию f
// для каждого элемента массива а
$.each(a,f);
// Вызвать функцию jQuery, чтобы получить объект jQuery, представляющий
// все элементы <а> в документе. Затем вызвать метод each этого объекта jQuery,
//
чтобы вызвать функцию f для каждого выбранного элемента.
$("a").each(f);
В официальной документации по библиотеке jQuery, которую можно найти на сайтетакие имена, как
$.each
, используются для ссылки на функции библиотеки jQuery, а такие имена, как .each (с точкой, но без знака доллара), - для ссылки на методы объекта jQuery
. Вместо них в этой книге я буду использовать термины «функция» и «метод». Что именно подразумевается, обычно будет достаточно очевидно из контекста обсуждения. *****************************************************
19.1.2. Запросы и результаты запросов
Когда функции
$
передается CSS-селектор, она возвращает объект jQuery
, представляющий множество («выбранных») элементов, соответствующих селектору. С CSS-селекторами мы познакомились в разделе 15.2.5, куда вы можете вернуться, чтобы освежить память, - все примеры селекторов, представленные там, могут передаваться функции $
. Конкретный синтаксис селекторов, поддерживаемый библиотекой jQuery, подробно будет рассматриваться в разделе 19.8.1. Однако, прежде чем углубиться в особенности синтаксиса селекторов, мы сначала разберемся с тем, что можно делать с результатами запроса. Возвращаемым значением функции
$
является объект jQuery
. Объекты jQuery
– это объекты, подобные массивам: они имеют свойство length
и свойства с числовыми именами, начиная с 0 до length
– 1. (Подробнее об объектах, подобных массивам, рассказывается в разделе 7.11.) Это означает, что к содержимому объекта jQuery
можно обращаться, используя стандартный синтаксис обращения к элементам массива с квадратными скобками:
$("body").length // => 1: документ имеет единственный элемент body
$("body”)[0] // То же самое, что document.body
Если при работе с объектом
jQuery
вы предпочитаете не использовать синтаксис массивов, вместо свойства length
можно использовать метод size,
а вместо индексов в квадратных скобках - метод get.
Если потребуется преобразовать объект jQuery
в настоящий массив, можно вызвать метод toArray.
В дополнение к свойству
length
объекты jQuery
имеют еще три свойства, представляющие определенный интерес. Свойство selector хранит строку селектора (если таковая имеется), которая использовалась при создании объекта jQuery
. Свойство context ссылается на объект контекста, который был передан функции $
во вто-ром аргументе, в противном случае оно будет ссылаться на объект Document. Наконец, все объекты jQuery
имеют свойство jquery, проверка наличия которого является самым простым способом отличить объект jQuery
от любого другого объекта* подобного массиву. Значением свойства jquery является строка с номером версии библиотеки jQuery:
Поделиться:
Популярные книги
Бояръ-Аниме. Газлайтер. Том 33
33. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
6.40
рейтинг книги
Последний Паладин
1. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.25
рейтинг книги
Верховный суд СССР
Научно-образовательная:
история
юриспруденция
5.00
рейтинг книги
Я снова царь. Книга XXXIII
33. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
История античной эстетики (ранняя классика)
Научно-образовательная:
философия
4.00
рейтинг книги
Сфабрикованный Иисус
Религия. Настоящее христианство
Документальная литература:
критика
5.00
рейтинг книги
Письма
Религия и эзотерика:
религия
5.00
рейтинг книги
Этьен и его тень
Приключения:
прочие приключения
5.00
рейтинг книги
Телохранитель Генсека. Том 1
1. Медведев
Фантастика:
попаданцы
альтернативная история
7.17
рейтинг книги
Имперец. Том 3
2. Имперец
Фантастика:
боевая фантастика
попаданцы
альтернативная история
7.50
рейтинг книги
Моя (не) на одну ночь. Бесконтрактная любовь
4. Шикарные Аверины
Любовные романы:
современные любовные романы
7.70
рейтинг книги
Адвокат империи
1. Адвокат Империи
Фантастика:
городское фэнтези
попаданцы
фэнтези
5.80
рейтинг книги
Отморозок 4
4. Отморозок
Фантастика:
попаданцы
фантастика: прочее
5.00
рейтинг книги
Пламенев. Книга X
10. Пламенев
Фантастика:
аниме
уся
сказочная фантастика
фэнтези
фантастика: прочее
5.00