Модуль y5.Classes

Набор функций для работы с классами CSS.
Включает реализацию функций, упрощающих работу с CSS-классами HTML-элементов страницы.

Требует загрузки модуля Classes.

add

y5.Classes.add(element, name) -> Array — добавленные классы

Добавляет новые CSS-классы заданному HTML-элементу страницы. В зависимости от типа передаваемых в параметре name данных, можно добавлять один или несколько классов одновременно. Если в качестве параметра name передается строка, то к существующим классам будет добавлен один новый класс с именем, соответствующим данной строке. Если в качестве параметра name передается массив, то к существующим классам будет добавлено несколько новых классов с именами, соответствующими элементам массива. Метод возвращает массив, содержащий названия добавленных классов.

Имя аргументаТипОписание
elementHTMLElementэлемент
nameString, Arrayимя класса

Пример:

// <div class="one"/>
y5.Classes.add(element, 'two'); // -> ['two']
// <div class="one two"/>

// <div class="one"/>
y5.Classes.add(element, ['foo', 'bar']); // -> ['foo', 'bar']
// <div class="one foo bar"/>

// <div class="one"/>
y5.Classes.add(element, 'one foo bar'); // -> ['one', 'foo', 'bar']
// <div class="one foo bar"/>

assign

y5.Classes.assign(element, name, test) -> Array — добениеавленные или удаленные классы

Добавляет/удаляет CSS-класс HTML-элемента страницы в зависимости от условия. Если значение параметра test рано true, то класс с именем, переданным в name, будет добавлен. Если значение параметра test рано false, то класс с именем, переданным в name, будет удален. Данный метод поддерживает операции добавления/удаления одновременно нескольких классов. Для этого в параметре name необходимо передавать массив имен классов. В качестве результата возвращается массив названий добавленных/удаленных классов.

Имя аргументаТипОписание
elementHTMLElementэлемент
nameString, Arrayимя класса
testBooleanесли значение равно true, то добавляется новый класс, иначе - удаляется

Пример:

// <div class="one"/>
y5.Classes.assign(element, 'two', true); // -> ['two']
// <div class="one two"/>

// <div class="one two"/>
y5.Classes.assign(element, 'two', false); // -> ['two']
// <div class="one"/>

remove

y5.Classes.remove(element, name) -> Array — удаленные классы

Удаляет CSS-классы у заданного HTML-элемента страницы. В зависимости от типа передаваемых в параметре name данных, можно удалять один или несколько классов одновременно. Если в качестве параметра name передается строка, то удаляется один класс с именем, соответствующим переданной строке. Если в качестве параметра name передается массив, то будет удалено несколько классов с именами, соответствующими элементам массива. Метод возвращает массив, содержащий названия удаленных классов.

Имя аргументаТипОписание
elementHTMLElementэлемент
nameString, Arrayимя класса

Пример:

// <div class="one two"/>
y5.Classes.remove(element, 'two'); // -> ['two']
// <div class="one"/>

replace

y5.Classes.replace(element, find, replace) -> Boolean — true, если класс find был заменен на replace

Заменяет один CSS-класс на другой у заданного HTML-элемента страницы. Имя заменяемого класса может быть задано строкой или регулярным выражением. Метод возвращает true, если класс был успешно заменен.

Имя аргументаТипОписание
elementHTMLElementэлемент
findString, RegExpзаменяемое имя класса
replaceStringновое имя класса

Пример:

// <div class="one two"/>
y5.Classes.replace(element, 'two', 'three'); // -> true
// <div class="one three"/>

set

y5.Classes.set(element, name) -> Boolean — true, если класс был установлен

Присваивает заданному HTML-элементу страницы нового имени CSS-класса вместо существующего. Метод возвращает true, если класс был успешно установлен, или false, если HTML-элемент страницы уже имеет класс с данным именем.

Имя аргументаТипОписание
elementHTMLElementэлемент
nameStringимя класса

Пример:

// <div class="one"/>
y5.Classes.set(element, 'two'); // -> true
// <div class="two"/>

// <div class="one"/>
y5.Classes.set(element, 'one'); // -> false
// <div class="one"/>

swap

y5.Classes.swap(element, name1, name2) -> String — класс, который заменил собой искомый

Переключает CSS-класс у заданного HTML-элемента страницы с одного значения на другое. В качестве параметров передаются два имени классов, и HTML-элементу присваивается тот, который отличается от текущего. Метод возвращает имя CSS-класса, на который был переключен исходный класс.

Имя аргументаТипОписание
elementHTMLElementэлемент
name1Stringимя класса
name2Stringимя класса

Пример:

// <div class="one"/>
y5.Classes.swap(element, 'two', 'one'); // -> 'two'
// <div class="two"/>

// <div class="two"/>
y5.Classes.swap(element, 'two', 'one'); // -> 'one'
// <div class="one"/>

test

y5.Classes.test(element, name, nocache) -> Boolean — результат проверки

Проверяет HTML-элемент страницы на наличие у него заданного CSS-класса. Имя класса может быть задано строкой или регулярным выражением. Метод возвращает true, если HTML-элемент имеет требуемый класс.

Имя аргументаТипОписание
elementHTMLElementэлемент
nameString, RegExpимя класса
nocacheBooleanне кэшировать результат проверки

Пример:

// <div class="one two"/>
y5.Classes.test(element, 'two'); // -> true

toggle

y5.Classes.toggle(element, name) -> Boolean — true, если класс был добавлен

Устанавливает/сбрасывает CSS-класс у заданного HTML-элемента страницы. Класс будет сброшен (удален), если HTML-элемент уже имеет класс с заданным именем. Класс будет установлен (добавлен), если у HTML-элемента нет класса с заданным именем. Метод возвращает true в случае установки CSS-класса или false в случае его сброса.

Имя аргументаТипОписание
elementHTMLElementэлемент
nameStringимя класса

Пример:

// <div class="one two"/>
y5.Classes.toggle(element, 'two'); // -> false
// <div class="one"/>

// <div class="one"/>
y5.Classes.toggle(element, 'two'); // -> true
// <div class="one two"/>