【问题标题】:jquery : alternate row colour in table except cell with class to keep background colourjquery:表格中的备用行颜色,除了带有类的单元格以保持背景颜色
【发布时间】:2010-09-03 12:40:28
【问题描述】:

我是 jquery 的新手。我的代码中有这个:

$("tbody tr:odd ").addClass("alt");

用css:

tbody tr.alt td {
   background-color: #e6EEEE;
}

我在表格中有一个单元格

<td class="coloron">

现在,所有其他行命令都超过了我的 class="coloron"。

我怎样才能保持我的单元格独特的颜色,同时让其他行着色?

【问题讨论】:

    标签: jquery css css-specificity


    【解决方案1】:

    定义样式,以便稍后在样式表中定义您的独特颜色,如下所示:

    tbody tr.alt td {
      background-color: #e6EEEE;
    }
    tbody tr td.coloron {
      background-color: #FFFFFF;
    }
    

    如果一行有多个类,在样式规则中给定相同级别的特定性,CSS 中最后定义的那个会胜出。 You can see it working here.

    【讨论】:

    • @Gordon - 欢迎 :) 如果它解决了您的问题,请务必接受答案!
    【解决方案2】:

    您的 tbody tr.alt tdspecific 更多 .coloron 并将覆盖它,而是执行以下操作:

    tbody tr.alt td.coloron {
       // your CSS
    }    
    

    或者这样:

    tbody tr td.coloron {
       // your CSS
    }
    

    【讨论】:

      【解决方案3】:

      使用 css !important:

      td.coloron {
          background: #ccc !important;
      }
      

      【讨论】:

      • 不!这是解决 CSS 特异性问题的错误方法,只是证明人们对最初的问题缺乏了解。
      【解决方案4】:

      尝试在你的 CSS 中添加这个:

      .coloron, .coloron.alt { 背景:红色 }

      【讨论】:

      • 一个是&lt;td&gt;,一个是&lt;tr&gt; :)
      • 你能像这样组合类吗?
      • @ILMV - 是的,但由于它们不在同一个元素上,因此不适用于此处。
      • 干杯尼克,质疑它们的一般用途,你是对的,这些类属于两个独立的元素。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多