添加类不会覆盖当前类

时间:2017-05-03 20:08:00

标签: jquery html css important

尝试添加一个可以解除通知效果的类。

所以我有这个

   <div onclick="ifRead()" id="messageList">

      </div>

然后一旦我点击一个按钮来查看添加类的消息

  <div onclick="ifRead()" id="messageList" class=" readClass">

      </div>

然后,如果我点击消息,font-weight从粗体变为正常,这是正确的,但background-color没有改变,即使我告诉它没有...而且{ {1}}不会消失:

content

知道为什么它不会凌驾么?

所有js代码:

.readClass {
  font-weight: normal;
  width: 100px;
  background-color: none !important;
  content: ""
}

.msgs:after {
  content: "1"
}

.msgs {
  background-color: yellow;
  width: 100px;
}

3 个答案:

答案 0 :(得分:2)

joinTo: { 'js/lib.js': /^(?!source\/)/ }, entryPoints: { 'source/scripts/app.jsx': { 'js/app.js': /^source\// }, } 不是none的有效值。请参阅文档here。将其设置为background-color以明确删除它。

但是,更好的方法是添加一个指定背景颜色的类,然后在适当的时候删除该类。通过这样做,您不必指定要去的颜色。删除类只是将元素恢复为原始样式。

此外,元素支持 classList 属性,该属性本身支持:transparentadd()remove()方法,使其易于使用使用类(比toggle()更容易)。

这是一个简单的例子:

&#13;
&#13;
className
&#13;
btn.addEventListener("click", function(){
  document.getElementById("btn").classList.toggle("backgroundOn");
});
&#13;
.backgroundOn {
  background-color:red;
}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

背景颜色黄色正在应用于您放置.msgs类的任何容器。

根据您提供的代码,没有背景颜色应用于messageList div以供您删除。

答案 2 :(得分:0)

我认为msg类是redclass的父级。这就是为什么redclass的背景是没有的,但是msg的背景仍然存在。如果您共享代码,将会很有帮助。