Книга: JavaScript. Подробное руководство, 6-е издание
19.2.3. Чтение и запись CSS-классов
19.2.3. Чтение и запись CSS-классов
Напомню, что значение атрибута class
(в языке JavaScript доступного в виде свойства className
) интерпретируется как список имен классов CSS, разделенных пробелами. Обычно бывает необходимо добавить, удалить или проверить присутствие какого-то одного имени в списке, тогда как потребность замещать один список классов другим возникает крайне редко. По этой причине в объекте jQuery
определены удобные методы для работы с атрибутом class
. Методы addClass()
и removeClass()
добавляют и удаляют классы в выбранных элементах. Метод toggleClass()
добавляет классы в элемент, если они отсутствуют в нем, и удаляет их, если они присутствуют. Метод hasClass()
проверяет присутствие указанного класса. Ниже приводятся несколько примеров использования этих методов:
$("h1").toggleClass("hilite", false); //
Добавить класс во все элементы <h1> Добавить 2 класса в <р> после <h1> Передать функцию, чтобы добавить вычисляемый класс во все выбранные элементы
Удалить класс из всех элементов <р> Допустимо удалять несколько классов Удалить вычисляемый класс из элем.
Удалить все классы из всех <div>
Добавить класс, если отсутствует, или удалить в противном случае Переключить сразу два класса Переключить вычисляемый класс или классы
Действует как addClass Действует как removeClass
Имеет ли какой-нибудь <р> этот класс? То же самое
is() - более гибкий, чем hasClass()
Обратите внимание, что метод hasClass()
не такой гибкий, как методы addClass(), removeClass()
и toggleClass().
Метод hasClass()
может работать только с одним именем класса и не поддерживает возможность передачи ему функции. Он возвращает true, если хотя бы один из выбранных элементов содержит указанный класс, и false - в противном случае. Метод is()
(описываемый в разделе 19.1.2) более гибкий и может использоваться для той же цели.
Эти методы объекта jQuery
подобны методам свойства classList
, о котором рассказывалось в разделе 16.5, но методы объекта jQuery
работают во всех броузерах, а не только в тех, которые поддерживают свойство classList
, определяемое стандартом HTML5. И, конечно же, методы объекта jQuery
работают с множеством элементов и могут добавляться в цепочки вызовов методов.
- 19.2.1. Чтение и запись значений HTML-атрибутов
- 19.2.2. Чтение и запись значений CSS-атрибутов
- 19.2.3. Чтение и запись CSS-классов
- 19.2.4. Чтение и запись значений элементов HTML-форм
- 19.2.5. Чтение и запись содержимого элемента
- 19.2.6. Чтение и запись параметров геометрии элемента
- 19.2.7. Чтение и запись данных в элементе
- 19.2.4. Чтение и запись значений элементов HTML-форм
- 19.2.5. Чтение и запись содержимого элемента
- 4.4.3. Чтение и запись
- 1.18. Запись телефонных звонков
- Как сделать перезапись файлов в Проводнике более удобной?
- Не могу войти в систему под учетной записью администратора, поскольку среди имен пользователей, отображаемых на экране п...
- При попытке войти в систему Пользователю1 выдается предупреждение, что загрузился временный профиль и все сделанные изме...
- У файла и каталога есть атрибуты (например: Скрытый, Только чтение). Как ими управлять из командной строки?
- 12.5. Чтение «битых» компакт-дисков
- 9.7.4. Иерархии классов и абстрактные классы
- Больше CSS3-селекторов
- 1.2. Запись образа операционной системы на флэшку