如何在IE8中使用带有RowExpander插件的ExtJS stripeRows

时间:2014-02-13 23:39:46

标签: css extjs internet-explorer-8

我正在使用ExtJS 4.2.1并使用stripeRows使用网格,因此行交替显示灰色和白色。我也在使用RowExpander插件。在Chrome和IE9 +中,一切看起来都很棒。但是,在IE8中,扩展的行背景颜色对于所有行都是白色的。这使得条纹看起来很糟糕。

我尝试添加自定义css来设置扩展单元格背景的样式,但是网格是动态填充的,我不知道它将包含多少行,IE8不支持:nth-​​child css ,所以我只能为所有扩展的细胞设置背景颜色,而不是每隔一个。

有没有人想出如何做到这一点?谢谢!

我也无法在这个应用程序中包含jQuery,所以任何替换nth-child的jQuery解决方案都不是一个选项。

1 个答案:

答案 0 :(得分:1)

知道了!由于Ext将网格的每一行都生成为一个表格,因此网格中每个条纹行的标记如下所示:

<tbody>
    <tr class="x-grid-row-alt"> //normal striped row
    <tr class="x-grid-row-body-hidden"> //expanded row (collapsed)
</tbody>

您可以使用IE8中的相邻子css选择器来设置条带行的行描述的背景颜色:

.x-grid-row-alt + tr {
    background-color: #f00;
}