Справочник API
.attr() в jQuery
Содержание статьи
-
Категории: Attributes , Manipulation › General Attributes
Получает или устанавливает значение(я) атрибута(ов) элементов набора jQuery в зависимости от заданного(ых) параметра(ов).
Варианты работы функции attr() в зависимости от переданных ей параметров:
* * *
Синтаксис и описание:
Добавлено в jQuery 1.0.attr( name )
-
Метод attr(name) получает значение заданного атрибута соответствующего элемента набора jQuery, либо первого элемента в наборе jQuery (если их несколько). Возвращает значение undefined, если у элемента указанный атрибут отсутствует или в наборе нет элементов.
Возвращаемое значение: (строка) Значение искомого атрибута или undefined.
Параметры:
name – (строка) Имя атрибута, значение которого необходимо получить.
-
Примечание:
Чтобы получить значения атрибутов для каждого элемента в наборе jQuery, можно использовать методы .each() или .map().
-
Примечание:
Можно использовать собственные нестандартные имена атрибутов.
-
Примечание:
Библиотека jQuery предоставляет дополнительные нормализованные имена атрибутов для кроссбраузерной работы команды .attr(): class (от ClassName), float, cssFloat, styleFloat, for (от HtmlFor), maxlength, readonly.
-
Примечание:
Удалить атрибут средствами jQuery можно с помощью функции .removeAttr().
Примеры:
-
// Получить значение атрибута alt первого изображения на странице // и, используя его, установить значение атрибута title. var title = $("img").attr("alt") + " -> Увеличить"; $("img:first").attr("title", title); -
// Сохранить в массив значения атрибутов id // всех элементов <div> в документе. var arr = new Array(); $("div").each(function(){ arr[] = $(this).attr("id"); });
* * *
Добавлено в jQuery 1.0.attr( name, value )
-
Метод attr(name, value) присваивает атрибуту name значение value для всех элементов набора jQuery.
Возвращаемое значение: (объект) Набор jQuery.
Параметры:
name – (строка) Имя атрибута, которому необходимо присвоить значение.
value – (строка | массив) Значение присваиваемое атрибуту или выражение JavaScript, вычисленное значение которого (возможно даже массив) присваивается атрибуту.
-
Примечание:
Можно использовать собственные нестандартные имена атрибутов.
-
Примечание:
Библиотека jQuery предоставляет дополнительные нормализованные имена атрибутов для кроссбраузерной работы команды .attr(): class (от ClassName), float, cssFloat, styleFloat, for (от HtmlFor), maxlength, readonly.
-
Примечание:
Браузер IE (Internet Explorer) не позволяет изменять значение атрибута name элементов
<input>. Кроссбраузерное решение – замена всего элемента<input>на новый с требуемым именем name. -
Примечание:
Удалить атрибут средствами jQuery можно с помощью функции .removeAttr().
Примеры:
-
// Добавить атрибуты alt и title первому изображению. $("img:first").attr("alt", "Первое изображение") .attr("title", "Первое изображение -> Увеличить");
* * *
Добавлено в jQuery 1.0.attr( object )
-
Метод attr(object) устанавливает значения атрибутов, полученные в виде пар ключ:'значение' объекта object :
{'attributeName1': 'value1', 'attributeName2': 'value2',…, 'attributeNameN': 'valueN'},
для всех элементов в наборе jQuery
Возвращаемое значение: (объект) Набор jQuery.
Параметры:
object – (объект) Объект, свойства которого становятся значениями атрибутов всех элементов в наборе jQuery. Если значением какого-либо свойства объекта является функция, то данная функция вызывается индивидуально для каждого отдельного элемента в наборе, а возвращаемое ею значение становится значением атрибута.
-
Примечание:
Можно использовать собственные нестандартные имена атрибутов.
-
Примечание:
Библиотека jQuery предоставляет дополнительные нормализованные имена атрибутов для кроссбраузерной работы команды .attr(): class (от ClassName), float, cssFloat, styleFloat, for (от HtmlFor), maxlength, readonly.
-
Примечание:
Браузер IE (Internet Explorer) не позволяет изменять значение атрибута name элементов
<input>. Кроссбраузерное решение – замена всего элемента<input>на новый с требуемым именем name. -
Примечание:
Удалить атрибут средствами jQuery можно с помощью функции .removeAttr().
Примеры:
-
// Установить значения атрибутов alt и title // для первого изображения на странице. $("img:first").attr({alt:"Рис.1", title:"Рис.1 -> Увеличить"});
* * *
Добавлено в jQuery 1.1.attr( name, function( [index, attr] ) )
-
Метод attr(name, function()) присваивает атрибуту name значение, возвращенное функцией function() для всех элементов набора jQuery.
Возвращаемое значение: (объект) Набор jQuery.
Параметры:
name – (строка) Имя атрибута, которому необходимо присвоить значение.
function( [index, attr] ) – (функция) Ссылка на функцию, которая вызывается индивидуально для каждого отдельного элемента в наборе, а возвращаемое ею значение становится значением атрибута. С первым параметром index ей передается индекс текущего элемента в наборе (начиная с 0), а втором аргументе attr - старое значение атрибута. Внутри функции контекст this ссылается на текущий элемент.
-
Примечание:
Можно использовать собственные нестандартные имена атрибутов.
-
Примечание:
Библиотека jQuery предоставляет дополнительные нормализованные имена атрибутов для кроссбраузерной работы команды .attr(): class (от ClassName), float, cssFloat, styleFloat, for (от HtmlFor), maxlength, readonly.
-
Примечание:
Браузер IE (Internet Explorer) не позволяет изменять значение атрибута name элементов
<input>. Кроссбраузерное решение – замена всего элемента<input>на новый с требуемым именем name. -
Примечание:
Удалить атрибут средствами jQuery можно с помощью функции .removeAttr().
Примеры:
-
// Установить значение атрибута title, // используя значение его же атрибута alt, // для каждого изображения на странице. $("img").attr("title", function(i) { ++i; // Увеличим на 1, т.к. отсчет идет с 0 return "Рис." + i + ": " + this.alt; });