我有类 .tab 的元素并将它们悬停在其中:
.tab:hover {
background-color: #A9E59E;
}
现在,我正在为JS中的一些元素添加额外的类:
this.classList.toggle('tab2');
问题是,我不会徘徊在两个类的元素上
classList.length> 1 即可。答案 0 :(得分:3)
如果你可以使用CSS3:not选择器可以帮助你实现你的目标:
.tab:not(.tab2):hover {
background-color: #A9E59E;
}
否则,您必须为具有两个类的元素定义新规则才能重置背景颜色:
.tab:hover {
background-color: #A9E59E;
}
.tab.tab2:hover {
background-color: white; (or whatever your initial background color was)
}
答案 1 :(得分:2)
您是否看过:not
选择器?
您可以尝试这样的事情:
.tab:not(.tab2):hover {
background-color: #A9E59E;
}
答案 2 :(得分:1)
试试这种语法。
[class="tab"]:hover{
background-color: #A9E59E;
}
如果它有其他类属性,它将选择类选项卡。
答案 3 :(得分:0)
您可以为2个类添加另一个显式规则
.tab.tab2:hover {
background-color: #someothercolor;
}
答案 4 :(得分:0)
我会做这样的事情:
.tab.tab2:hover{
/*apply the same style as for the non hover element */
}
答案 5 :(得分:0)
我们可以使用
删除悬停效果$(element).removeClass('hover');
因此,在切换课程时,我们也可以切换悬停
element.classList.toggle("tab2");
element.classList.toggle("hover");