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

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

• Вместо того чтобы определять парные методы, библиотека jQuery использует одни и те же методы как для чтения, так и для записи. Если передать методу новое значение, он запишет это значение. Если новое значение не указано, метод вернет текущее значение.

• При использовании методов для записи они записывают новое значение во все элементы, находящиеся в объекте

jQuery
, и возвращают объект
jQuery
, что позволяет использовать их в цепочках вызовов методов.

• При использовании методов для чтения они читают значение только из первого элемента в наборе и возвращают единственное значение. (Если необходимо получить значения из всех элементов, используйте метод

map
.) Поскольку методы чтения не возвращают объект
jQuery
, они могут использоваться только в конце цепочек вызовов методов.

• При использовании методов для записи они часто могут принимать объекты в виде аргументов. В этом случае каждое свойство указанного объекта будет определять имя и устанавливаемое значение.

• При использовании методов для записи они часто могут принимать вместо значений функции. В этом случае функция будет использоваться для вычисления устанавливаемого значения. Элемент, для которого должно быть вычислено значение, будет передан функции в ссылке this, в первом аргументе будет передан индекс элемента, а во втором аргументе - текущее значение.

Продолжая чтение раздела, помните об этих общих чертах методов чтения и записи. Каждый из следующих подразделов описывает отдельную категорию методов чтения/записи объекта

jQuery
.

19.2.1. Чтение и запись значений HTML-атрибутов

Метод

attr
объекта
jQuery
– это метод чтения/записи значений HTML-атрибутов, и к нему относятся все обобщения, описанные выше. Метод
attг
предусматривает решение проблемы несовместимости броузеров и обработку специальных случаев и позволяет использовать имена HTML-атрибутов или имена эквивалентных им свойств в языке JavaScript (где они отличаются). Например, можно использовать имя «for» или «htmlFor», «class» или «className».
removeAttr
– это родственная функция, которая полностью удаляет атрибут из всех выбранных элементов. Ниже приводятся несколько примеров использования этих методов:,

$("form").attr("action"); // Получить атрибут action 1-й формы

$("#icon").attr("src", "icon.gif"); // Установить атрибут sre

$("#banner").attr({src:"banner.gif", alt:"Advertisement", // Установить сразу 4 атрибута

width:720, height:64});

$("a").attr("target", "_blank"); // Все ссылки загружать в новых окнах

S("a").attr("target", function { // Локальные ссылки загружать локально

if (this.host == location.host) return "_self"

else return ”_blank"; // Внешние ссылки загружать в новых окнах

});

S("a").attr((target: function {...}}); // Можно также передать функцию

$("а"). removeAttr("target"); // Все ссылки загружать в этом окне

19.2.2. Чтение и запись значений CSS-атрибутов

Метод

css
напоминает метод
attr,
но работает не с HTML-атрибутами, а со стилями CSS элемента. При чтении значений стилей метод
css
возвращает текущий (или «вычисленный»; раздел 16.4) стиль элемента: возвращаемое значение может быть определено в атрибуте
style
или в таблице стилей. Обратите внимание, что нельзя получить значения составных стилей, таких как «font» или «margin». Вместо этого следует запрашивать отдельные стили, такие как «font-weight», «font-family», «margin-top» или «margin-left». При записи значений стилей метод
css
просто добавляет их в атрибут style элемента. Метод
css
позволяет указывать имена стилей CSS с дефисами («background-color») или имена свойств в языке JavaScript с переменным регистром символов («backgroundColor»). При чтении значений стилей метод
css
возвращает числовые значения в виде строк с добавлением единиц измерения в конце. Однако при записи он преобразует числа в строки и добавляет суффикс «рх» (pixels - пикселы), если это необходимо:

$("h1").css("font-weight"); // Насыщенность шрифта первого элемента <h1>

$("hi").css("fontWeight"); // Допускается использовать имена свойств

$(”h1").css("font"); // Ошибка: нельзя запрашивать составные стили

$("h1").css("font-variant", "smallcaps”); // Установить стиль всех элементов <h1>

SC’div.note").css("border", "solid black 2px"); // Составные стили можно устанавливать

$("h1").css({ backgroundColor: "black", // Записать сразу несколько стилей

textColor: "white", // имена с переменным регистром

fontVariant: "small-caps", // лучше подходят на роль имен

padding: "10рх 2рх 4рх 20рх",// свойств объекта

border: "dotted black 4рх" });

// Увеличить размер шрифта во всех элементах <h1> на 25%

$("h1").css("font-size", function(i.curval) {

return Math.round(1.25*parseInt(curval));

});

19.2.3. Чтение и запись CSS-классов

Напомню, что значение атрибута

class
(в языке JavaScript доступного в виде свойства
className
) интерпретируется как список имен классов CSS, разделенных пробелами. Обычно бывает необходимо добавить, удалить или проверить присутствие какого-то одного имени в списке, тогда как потребность замещать один список классов другим возникает крайне редко. По этой причине в объекте
jQuery
определены удобные методы для работы с атрибутом
class
. Методы
addClass
и
removeClass
добавляют и удаляют классы в выбранных элементах. Метод
toggleClass
добавляет классы в элемент, если они отсутствуют в нем, и удаляет их, если они присутствуют. Метод
hasClass
проверяет присутствие указанного класса. Ниже приводятся несколько примеров использования этих методов:

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

Кодекс Охотника. Книга XIX

Винокуров Юрий
19. Кодекс Охотника
Фантастика:
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга XIX

Бастард Императора. Том 3

Орлов Андрей Юрьевич
3. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 3

Кодекс Охотника. Книга XXXII

Винокуров Юрий
32. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXXII

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

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

Газлайтер. Том 6

Володин Григорий
6. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 6

Тонкий расчет

Шелдон Сидни
Детективы:
триллеры
8.86
рейтинг книги
Тонкий расчет

Идеальный мир для Лекаря 2

Сапфир Олег
2. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 2

Сборник коротких эротических рассказов

Коллектив авторов
Любовные романы:
эро литература
love action
7.25
рейтинг книги
Сборник коротких эротических рассказов

Властелин Севера

Корнуэлл Бернард
3. Саксонские хроники
Приключения:
исторические приключения
8.67
рейтинг книги
Властелин Севера

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

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

Кодекс Охотника. Книга XVII

Винокуров Юрий
17. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVII

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

INDIGO
23. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 5

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

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

Практик

Листратов Валерий
5. Ушедший Род
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Практик