我在jQuery UI小部件中工作很多,因为我需要处理的疏忽,主题变得越来越困难.
考虑这个问题:
<div id="node" class="ui-widget"> <div class="ui-widget-content"> </div> </div>
那么这个jquery
<script> $(function() { $('#node').hover(function (){ $(this).toggleClass("ui-state-error"); }); }); </script>
我希望ui状态错误是对嵌套div重要的.这是伪代码,但是我发现大量的例子是容器有css交换和子代(basicaly)忽略它的情况.更糟糕的是:如果我想在jQuery中可以覆盖,说“backgroundcolor = ui-state-error:background-color知道100%都不会去碎片,因为我不知道”必然这个背景是有关元素的重要的背景.
这里是http://jsfiddle.net/WCuYH/1/点的一个案例的小提琴
编辑我将推荐这个问题是关闭的,因为没有任何尝试的答案,只有太多的漂移从原始帖子的本质
解决方法
首先!重要的是适用于CSS规则中的一个特定声明.它不适用于课堂.所以,“不”你不能上课!
第二,重要的只是CSS特性的一部分.您也可以使用其他方式使规则成为具有优先级的更具体的规则(例如,引用父链中的ID而不仅仅是类).当我编写CSS时,使用!important是我最后可能的选择通常,如果你控制所有的CSS,这很容易避免使用!重要的是,如果你必须覆盖一些你不能控制的CSS,那么有时候它是便利.
如果您的jQuery代码要在对象上切换一个类,那么您将必须制作CSS规则,以便添加/删除此类会导致正确的CSS声明具有优先级.为了帮助您进一步了解该部分,您需要向我们展示HTML和CSS的相关部分,以便我们就如何解决您的优先级/特异性问题提供建议.