2012-08-24 59 views
2

我有CSS代碼用於區分奇數和偶數通過不同的顏色CSS3在IE8奇甚至用不同的顏色

.historyLog tr:nth-child(odd) td { 
background-color:blue; 
} 
.historyLog tr.odd td{ 
    background-color: blue; 
} 
​ 
.historyLog tr:nth-child(even) td { 
background-color:orange; 
} 
.historyLog tr.even td{ 
    background-color: orange; 
} 

行和具有類表中的行.historyLog

<table class="historyLog"> 
<tr><td></td></tr> 
<tr><td></td></tr> 
</table> 

問題與我是當我應用Css使用class屬性.historyLog i.ie

.historyLog tr:nth-child(odd) td { 
background-color:blue; 
} 

IE8不會執行它並且wh在我將得到的所有行是相同的顏色,無論是偶數還是奇數。但是,如果我申請的CSS不使用表的類屬性即

tr:nth-child(odd) td { 
background-color:blue; 
} 

那麼IE8執行它在奇甚至用不同的色彩行。 請給我答案,以便IE8如何使用表的class屬性以不同顏色顯示奇數行和偶數行。

+0

可能的複製...... http://stackoverflow.com/q/4742450/415057 – codef0rmer

回答

12

由於IE8亙古不變的支持CSS3選擇器。你可以很好地使用內置的jQuery:odd或even選擇器來實現相同的功能。

$(".historyLog tr:odd").css('background-color','blue'); 
$(".historyLog tr:even").css('background-color','white'); 

或者你可以使用CSS類文件,而不是

$(".historyLog tr:odd").addClass("odd"); 
$(".historyLog tr:even").addClass("even"); 
+1

請注意jQuery的':even'使用[基於0的索引](https://api.jquery.com/even-selector/),但CSS的':nth-​​child(偶數)'使用基於1的索引,相同申請'奇數'。 –

6

你不能,因爲IE8不支持CSS3。

You could do this with jQuery

$('tr').each(function(){ 
    if ($(this).index()%2<1) 
     $(this).addClass('even'); 
}); 

+0

不應類甚至 – tsukimi

+1

哈哈沒錯。哦,親愛的。早上好。 –

+0

我在css文件中創建了一個.odd類,並使用了Jquery的代碼,但它不起作用 –