2014-10-28 137 views
1

我使用奇数和偶数bgcolor作为表格。删除背景颜色

我有一个单一的表格结构,我在做奇数,甚至bgcolor。我不希望bgcolor(想要白色)在该表格之间的几个<tr>之间。

如果我在<tr><td>中放入任何班级,js会覆盖它。

嗨,我正在做什么。

$(document).ready(function() { 
    $(".myTable tr:odd").addClass("myTable-alt"); 
}); 

/CSS/

.myTable-alt { 
    background-color: #F8F8F8; 
    overflow: hidden; 
    padding-top: 5px; 
} 

回答

0

!important是一种方式,另一种方式是改变你的CSS。

.myTable-alt { 
    background-color: #F8F8F8; 
    overflow: hidden; 
    padding-top: 5px; 
} 

.myTable-alt.no-color { /* for elements with BOTH classes */ 
    background-color: #fff; 
} 

以及您希望有一个白色背景上<tr>,他们可以看起来像:

<tr class="myTable-alt no-color"> 

因为odd<tr> S的所有将会有.myTable-alt类,和您可以将第二个类添加到您想要修改的几个类中。

注:如果元素的background-color相同.myTable-alt,那么这就是为什么even行不是白色的。如果是这样的话,那么你可以强制它想:

$(document).ready(function() { 
    $(".myTable tr:odd").addClass("myTable-alt"); 
    $('.myTable tr:even').css('background-color', '#fff'); 
}); 
0

你可以在新类中使用一个更具体的选择像tr.newClass或CSS !important关键字,这样的风格不会被.myTable-alt覆盖。

对于例如,

table tr.newClass{ 
    background-color: #FFF; 
} 

.newClass{ 
    background-color: #FFF !important; 
} 
0

如果您不需要支持IE8,您可以使用nth-child斑马条纹的表格。

tr:nth-child(odd) { 
    background-color: #F8F8F8; 
} 

您可以创建一个类来覆盖所需行上的颜色。只要确保这个选择器定义在样式表中的上面一个之后。

tr.special { 
    background-color: #FFF; 
} 

jsFiddle demo