我在大量使用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-state-error 这个类名的样式设置为嵌套的 div 元素中的 !important 样式。尽管这是伪代码,但我发现这种情况很常见,容器发生 CSS 切换而子元素却无法继承。
更糟糕的是:如果我想在 jQuery 中覆盖这个样式,比如说使用 "backgroundcolor=ui-state-error:background-color",那么我并不能保证这不会引起样式混乱,因为我并不确定这个背景颜色是否是该元素中最重要的。
这里有一个案例的 jsfiddle 示例:http://jsfiddle.net/WCuYH/1/
!important
的唯一方法是在CSS中的每个属性设置后添加!important
声明。那么是什么疏忽导致了这种情况? - Kevin Boucher!important
与优先级毫无关系。 - BoltClock