首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery addClass不覆盖

jQuery addClass不覆盖
EN

Stack Overflow用户
提问于 2013-07-25 19:53:15
回答 3查看 1.3K关注 0票数 2

以前已经回答过很多次了,所有的回答似乎都指向CSS的特殊性,但据我所知,这里似乎并非如此。

HTML

代码语言:javascript
复制
<button class="flex-item color-2">A</button>
<button class="flex-item color-2">B</button>
<button class="flex-item color-2">C</button>

JS

代码语言:javascript
复制
$("button.color-2").hover( function(){
    $(this).addClass("color-1 bg-2");
}, function(){
    //$(this).removeClass("color-1").removeClass("bg-2");
});

开发工具输出

我确实把背景改成了类,因为我意识到我有其他地方指定的背景。

现在,当javascript添加类时,背景会覆盖,但颜色不会覆盖。

addClass不优先于预定义的颜色吗?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-25 20:16:09

你的问题

“addClass不优先于预定义的颜色吗?”

据我所知,Jquery addClass与优先级无关。css的优先级在css中定义。

例如,颜色2优先,因为它位于第216行,而#fff位于第215行。

如果您希望添加的类优先,那么您需要在css中更好地定义它。或者稍后在css文件中定义它,或者用一个更具体的选择器来定义它,您也可以使用!重要,但是您可能会在以后遇到这样的情况!重要的还不够好,所以我现在要避免它。

票数 3
EN

Stack Overflow用户

发布于 2013-07-25 19:59:45

这不会被覆盖,因为在“flex-item color-2”之前定义的“color-1 bg-2”类。在css中排序类。

你可以使用!重要的‘颜色-1 bg-2’类。

.bg-2{显示:阻止!重要}

票数 2
EN

Stack Overflow用户

发布于 2013-07-25 19:56:03

就像这样:

代码语言:javascript
复制
$(this).addClass("color-1 bg-2").removeClass("color-2");

因为您的color-2类会影响颜色,所以只需删除它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17867534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档