【发布时间】:2010-06-14 13:05:16
【问题描述】:
我有一个列表,定义了 li 样式。我想替换单个元素的样式,但它似乎没有任何视觉效果。示例:
.myList li {
background-color: yellow;
}
.foo {
background-color: green;
}
<ul class='myList'>
<li>Hello</li>
</ul>
当我将一个项目添加到列表中时,它会正确应用 .myList li 样式。我现在尝试删除所有样式并将 foo 样式应用于单个项目(使用 jquery):
$(item).removeClass();
$(item).addClass("foo");
虽然该项目没有将颜色更改为绿色,但这会报告该类已设置为“foo”:
alert($(item).attr('class'));
所以我想我在这里不理解 css 规则,看起来 li 类定义只是覆盖了我所做的任何其他事情,但是我希望反过来是真的,我想用 foo 覆盖 li 样式定义。我们如何做到这一点?
谢谢
【问题讨论】:
-
您是否尝试只更改背景颜色?还是您的实际代码比这更复杂?
-
那些是规则集,而不是类(这可能是您误解的来源)。类是一个 HTML 概念,而不是 CSS 概念。 (CSS 具有匹配作为 HTML 类成员的元素的类选择器)