Вопрос
Какая платформа JavaScript (prototype, script.aculo.us, Mootools, MochiKit ...) имеет достойное редактирование правил CSS поддержка?
Речь идет об изменении правила стиля.Я хочу иметь динамические классы CSS , которые меняются.Пример:
<style>
#answer, .reveal { display: none; color: blue; }
#answer { /* additional stuff */ }
</style>
Теперь с помощью JavaScript я хочу изменить правило, в котором есть «display: none».- Я убежден, что иногда это правильный путь;Я не ищу альтернативы, когда это не правильный способ сделать.
Какая инфраструктура облегчает следующее:
- выбирает правило из всех правил (например, "#answer, .reveal")
- какое значение имеетвыбранные правила имеют для «отображения»?
- удалить свойство «отображения» из правила (й)
(2 и 3. легко с помощью одного DOM,пока я получаю дескриптор правила CSS из фреймворка)
Недостаточно хорошие фреймворки: например,
Таблица стилей YUI может искать правила только на одном листевремя (ограничено, но достаточно для меня), но оно не может отображать, редактировать или извлекать правила мультиселектора, как в моем первом примере (слишком ограничено на мой вкус).
У YUI также нет способа получить индивидуальныйсвойства (базовый DOM может, но вы не можете получить эту структуру через YUI).Вы могли бы удалить только свойство display, однако, если вы овладели правилом средствами YUI.
В Dojo есть плохо документированные и неполные данные в dojox.html.styles
Ext JS имеет Ext.util.CSS.Я проверил код и обнаружил ошибку в getRule () ... В остальном он довольно неаккуратен из-за выбора селектора (плохое влияние IE), что делает его плохим для правил мультиселектора.Он также не может удалять свойства через API, но может дать вам CSSRule, чтобы вы могли сделать это самостоятельно.- Ходьба по дереву CSS настолько примитивна, насколько это возможно: не спускаться по правилам мультимедиа или импортам.
PD:
$ ('. Предоставить'). Css (... что угодно...) это не ответ, потому что он вообще не касается правил CSS (вместо этого он касается атрибутов CSS некоторых элементов)!