Чтение онлайн

на главную

Жанры

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:

Поделиться:
Популярные книги

Легенды грустный плен. Сборник

Бушков Александр Александрович
Фантастика:
фэнтези
научная фантастика
7.00
рейтинг книги
Легенды грустный плен. Сборник

Князь Андер Арес 3

Грехов Тимофей
3. Андер Арес
Фантастика:
рпг
аниме
фэнтези
5.00
рейтинг книги
Князь Андер Арес 3

На границе империй. Том 7. Часть 3

INDIGO
9. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.40
рейтинг книги
На границе империй. Том 7. Часть 3

Инженер Петра Великого 3

Гросов Виктор
3. Инженер Петра Великого
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Инженер Петра Великого 3

Александри В. Стихотворения. Эминеску М. Стихотворения. Кошбук Д. Стихотворения. Караджале И.-Л. Потерянное письмо. Рассказы. Славич И. Счастливая мельница

Эминеску Михай
126. Библиотека всемирной литературы
Поэзия:
поэзия
5.00
рейтинг книги
Александри В. Стихотворения. Эминеску М. Стихотворения. Кошбук Д. Стихотворения. Караджале И.-Л. Потерянное письмо. Рассказы. Славич И. Счастливая мельница

Вперед в прошлое!

Ратманов Денис
1. Вперед в прошлое
Фантастика:
попаданцы
5.00
рейтинг книги
Вперед в прошлое!

Черный Маг Императора 15

Герда Александр
15. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
фантастика: прочее
5.00
рейтинг книги
Черный Маг Императора 15

Эволюционер из трущоб. Том 11

Панарин Антон
11. Эволюционер из трущоб
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Эволюционер из трущоб. Том 11

На границе империй. Том 10. Часть 6

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 6

Тихие ночи

Владимиров Денис
2. Глэрд
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Тихие ночи

Апокриф

Вайс Александр
10. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Апокриф

Солнечный флот

Вайс Александр
4. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Солнечный флот

Кодекс Крови. Книга VII

Борзых М.
7. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга VII

Первый среди равных

Бор Жорж
1. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных