问题
哪个 JavaScript 框架(prototype、script.aculo.us、Mootools、MochiKit 等)有 良好的 CSS 规则编辑 支持?
这是关于更改样式规则的问题。我想要使用 动态 CSS 类 进行更改。例如:
<style>
#answer, .reveal { display: none; color: blue; }
#answer { /* additional stuff */ }
</style>
现在,我想通过JavaScript更改具有“display:none”规则的样式表。 - 我相信有时这是正确的方法; 当它不是正确的方法时,我不寻找替代方法。 有哪些框架可以轻松实现以下功能:1.从所有规则中选择一个规则(例如“#answer,.reveal”) 2.所选规则的“display”属性值是什么? 3.删除规则的“display”属性
(只要我从框架中获取到CSS规则的句柄,DOM就能够很容易地处理第2步和第3步)
以下是不太合适的框架:
例如,YUI的StyleSheet一次只能搜索一个sheet中的规则(有限制,但对我来说足够了),但它无法显示、编辑或检索多选择器规则,如我的第一个示例(对我来说太有限了)。
YUI也无法获取单个属性(底层DOM可以,但你无法通过YUI获取该结构)。如果您使用YUI手段获得规则,则可以仅删除“display”属性。
Dojo有一些文档不完整的东西在dojox.html.styles下。
Ext JS有Ext.util.CSS。我检查了代码并发现了getRule()中的错误…否则它的选择器匹配非常松散(不良的IE影响),这使它对于多选择器规则非常糟糕。它也无法通过API删除属性,但可以为您提供CSSRule,以便您自己执行操作。 CSS树遍历非常原始:不下降媒体规则或导入。 $('.reveal').css(...任何内容...)不是答案,因为它根本不会触及CSS规则(而是触及某些元素的CSS属性)!