, определяемый стандартом ES5. В первом аргументе она принимает произвольное значение, а во втором - массив (или объект, подобный массиву) и возвращает индекс первого элемента в массиве, имеющего это значение, или -1, если указанное значение отсутствует в массиве.
jQuery.isArray
Возвращает true, если аргумент является объектом
Array
.
jQuery.isEmptyObject
Возвращает true,
если аргумент не содержит перечислимых свойств.
jQuery.isFunction
Возвращает true, если аргумент является объектом
Function
. Обратите внимание, что в IE версии 8 и ниже такие методы, определяемые броузером, как
Window.alert
и
Element.attachEvent,
не являются функциями в этом смысле.
jQuery.isPlainObject
Возвращает true, если аргумент является «простым» объектом, а не экземпляром некоторого более специализированного типа или класса объектов.
jQuery.makeArray
Если аргумент является объектом, подобным массиву, эта функция скопирует элементы из этого объекта в новый (истинный) массив и вернет этот массив. Если аргумент не является объектом, подобным массиву, эта функция просто вернет новый массив с аргументом в качестве единственного элемента.
jQuery.map
Эта функция похожа на метод
map
объекта
Array
, определяемый стандартом ES5. В первом аргументе она принимает массив или объект, подобный массиву, а во втором - функцию. Она передает указанной функции значение и индекс каждого элемента массива и возвращает новый массив, содержащий значения, возвращаемые функцией.
jQuery.map
имеет пару отличий от метода
map
в стандарте ES5. Если ваша функция отображения вернет null, это значение не будет включено в массив с результатами. И если ваша функция отображения вернет массив, в результат будут добавлены элементы этого массива по отдельности, а не сам массив.
jQuery.merge
Эта функция принимает два массива или объекта, подобных массивам, добавляет элементы второго массива в первый и возвращает первый массив. Первый массив изменяется, а второй - нет. Обратите внимание, что эту функцию можно использовать для поверхностного копирования массивов, как показано ниже:
var clone = jQuery.merge([], original);
jQuery.parseJSON
Эта функция разбирает строку в формате JSON и возвращает результат. Она возбуждает исключение, если в исходной строке будет обнаружена ошибка. Библиотека jQuery использует стандартную версию функции
JSON.parse,
если она определена в броузере. Обратите внимание, что в библиотеке jQuery имеется только функция разбора строк в формате JSON, но в ней отсутствует функция сериализации объектов в формат JSON.
jQuery.proxy
Эта функция напоминает метод bind (раздел 8.7.4) объекта
Function
,
определяемый стандартом ES5. В первом аргументе она принимает функцию, а во втором - объект и возвращает новую функцию, которая вызывает оригинальную как метод указанного объекта. Она не выполняет частичное применение аргументов, как метод
bind.
Функция
jQuery.ргоху
может также вызываться с объектом в первом аргументе и именем свойства во втором. Значение свойства с указанным именем должно быть функцией. В этом случае вызов функции
jQuery.proxy(o.n)
вернет то же, что и вызов
jQuery.proxy(o[n],о).
Функция
jQuery.ргоху
предназначена для использования с механизмом связывания обработчиков событий в библиотеке jQuery. Если в качестве обработчика была связана функция, полученная с помощью
jQuery.proxy,
то удалить ее можно, указав ее оригинал.
jQuery.support
Это свойство подобно свойству
jQuery.browser
, но оно предназначено для переносимой проверки поддерживаемых возможностей (раздел 13.4.3) вместо менее надежного способа определения типа броузера. Значением свойства
jQuery.support
является объект, все свойства которого имеют логические значения и определяют наличие или отсутствие поддержки различных возможностей броузеров. Большинство свойств объекта
jQuery.support
содержат низкоуровневую информацию, используемую внутренними механизмами библиотеки jQuery. В основном они представляют интерес для разработчиков расширений и мало чем полезны прикладным программистам. Одно исключение - свойство
jQuery.support.boxModel
: оно имеет значение true, если броузер использует блочную модель «context-box», соответствующую стандарту CSS, и значение false в ІE6 и ІE7, работающих в режиме совместимости (раздел 16.2.3.1).
jQuery.trim
Эта функция похожа на метод
trim,
добавленный в строки стандартом ES5. Она принимает единственный строковый аргумент и возвращает его копию, из которой удалены начальные и завершающие пробельные символы.
19.8. Селекторы и методы выбора в библиотеке jQuery
На протяжении всей главы мы использовали функцию выбора
$
из библиотеки jQuery, применяя простые CSS-селекторы. Теперь пришло время поближе познакомиться с грамматикой селекторов jQuery, а также с некоторыми методами, позволяющими фильтровать и расширять множество выбранных элементов.
19.8.1. Селекторы jQuery
Библиотека jQuery поддерживает достаточно полное подмножество селекторов, определяемых проектом стандарта «CSS3 Selectors», расширенное нестандартными, но очень удобными псевдоклассами. Основы CSS-селекторов обсуждались в разделе 15.2.5. Здесь мы продолжим это обсуждение и дополнительно познакомимся с более сложными селекторами. Имейте в виду, что в этом разделе описываются селекторы, реализованные в библиотеке jQuery. Многие из них могут использоваться в таблицах стилей CSS, но не все.