jQuery / css addClass() 样式覆盖以前的样式属性

发布于 2024-10-03 08:35:02 字数 604 浏览 7 评论 0原文

我有一个 div,它的默认类给它一个绿色背景。当按下鼠标时,我想将背景更改为红色,直到松开鼠标。

我尝试添加一个具有红色背景颜色的类。新的类属性似乎不会覆盖现有属性。我在 .css 文件中的原始类之后列出了新类。

css

#calc_no { background-color: #cd9781; }
#calc_yes { background-color: #8fba8e; }
.button_click { background-color: red; }

jscript

$('.button').live('mousedown', function() {
    $(this).addClass("button_click");
});
$('.button').live('mouseup', function() {
    $(this).removeClass('button_click');
});

html

<div id="calc_yes" class="kp_button button">Yes</div>

I have a div with its default class giving it a green background. When the mouse is pressed, I want to change the background to red until the mouse is let go.

I have tried to addClass a class with a red background-color. The new class properties seem to not override the existing properties. I have the new class listed after the original in the .css file.

css

#calc_no { background-color: #cd9781; }
#calc_yes { background-color: #8fba8e; }
.button_click { background-color: red; }

jscript

$('.button').live('mousedown', function() {
    $(this).addClass("button_click");
});
$('.button').live('mouseup', function() {
    $(this).removeClass('button_click');
});

html

<div id="calc_yes" class="kp_button button">Yes</div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

渡你暖光 2024-10-10 08:35:02

在CSS中,不同类型的选择器有不同的权重。例如,id 比类具有更大的权重,类比标签名称具有更大的权重。因此,基于 id 的样式将覆盖基于类的样式。

对于这个简单的情况,请尝试使用 !important 关键字:

.button_click { background-color: red !important; }

http://www.w3.org/TR/CSS2/cascade.html#specificity

In CSS, different types of selectors have different weights. An id has greater weight than a class, which has greater weight than a tag name, for example. So, your id-based styles are overriding the class-based styles.

For this simple case, try using the !important keyword:

.button_click { background-color: red !important; }

http://www.w3.org/TR/CSS2/cascade.html#specificity

む无字情书 2024-10-10 08:35:02

问题是 ids 覆盖了类定义。更改类中的背景而不是 ids

the problem is that ids override class definitions. change the background in classes instead of ids

明媚如初 2024-10-10 08:35:02

id> 您可以

使用 .calc_no 和 .calc_yes 代替

ids > classes

you could use .calc_no and .calc_yes instead

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文