JavaScript. Подробное руководство, 6-е издание, стр. 245
<b>CSSClassList.prototype.toggle = function(c) {</b><b> if (this.contains(c)) { // Если e.className содержит c</b><b> this.remove(c); // удалить его.</b><b> return false;</b><b> }</b><b> else { // Иначе:</b><b> this.add(c); // добавить его.</b><b> return true;</b><b> }</b><b>};</b><b>// Возвращает само значение e.className</b><b>CSSClassList.prototype.toString = function() { return this.e.className; };</b><b>// Возвращает имена из e.className </b><b>CSSClassList.prototype.toArray = function() {</b><b> return this.e.className.match(/\b\w+\b/g) || [];</b><b>};</b>16.6. Управление таблицами стилей
До сих пор мы видели, как устанавливать и получать значения CSS-свойств стиля и классы отдельных элементов. Однако существует еще возможность управления самими таблицами стилей CSS. Обычно в этом не возникает необходимости, тем не менее такая возможность иногда бывает полезной, и в этом разделе коротко будут представленные возможные приемы.
При работе с самими таблицами стилей вам придется столкнуться с двумя типами объектов. Первый тип - это объекты
<b>Element</b><b><style></b><b><link>,</b><b>id</b><b>document.getElementByld().</b><b>CSSStyleSheet</b><b>document.styleSheets</b><b>CSSStyleSheet</b><b><style></b><b><link>,</b><b>title</b><b>CSSStyleSheet</b><b>title</b>Следующие разделы описывают, какие операции могут выполняться с этими элементами
<b><style></b><b><link></b>16.6.1. Включение и выключение таблиц стилей
Простейший прием работы с таблицами стилей является к тому же самым переносимым и надежным. Элементы
<b><style></b><b><link></b><b>CSSStyleSheet</b><b>disabled</b><b>disabled </b>Это наглядно демонстрирует функция
<b>disableStylesheet(),</b><b>document.styleSheets</b><b>document.querySelectorAll()</b><b>disabled</b><b>function disableStylesheet(ss) {</b><b> if (typeof ss === "number")</b><b> document.styleSheets[ss].disabled = true;</b><b> else {</b><b> var sheets = document.querySelectorAll(ss);</b><b> for(var і = 0; і < sheets.length; i++) sheets[i].disabled = true;</b><b> }</b><b>}</b>16.6.2. Получение, вставка и удаление правил из таблиц стилей
В дополнение к возможности включения и отключения таблиц стилей объект
<b>CSSStyleSheet</b>Как правило, непосредственное манипулирование таблицами стилей редко бывает полезным. Вместо того чтобы добавлять новые правила в таблицы стилей, обычно лучше оставить их статичными и работать со свойством
<b>className</b>Объекты
<b>CSSStyleSheet</b><b>document.styleSheets[].</b><b>CSSStyleSheet</b><b>cssRules[],</b><b>var firstRule = document.styleSheets[0].cssRules[0];</b>В IE это свойство носит имя
<b>rules</b><b>cssRules</b>