2010-07-29 94 views
3

在服务器上生成的奇数/偶数行的表上使用CSS类或更好地使用CSS或使用jQuery在document.Ready()上使用样式条纹?jQuery表格样式与CSS表格样式的替代行

我想开始使用jQuery来减少我的标记混乱,但我不确定性能,尤其是对于大型(最多200行)表。

回答

3

根据浏览器,您可能没有选择。 jQuery将与像IE7这样的老式浏览器一起工作,它们没有第N个子选择器。

理想情况下,你应该使用CSS。样式表是要去的样式的最佳位置。

我会用旧的浏览器的JavaScript备份使用CSS。如果,例如,你想斑马所有表试试这个:

tr:nth-child(2n+1), tr.odd { background:#911100; } 
tr:nth-child(2n), tr.even { background:#222200; } 

而jQuery中添加.odd和。即便类,如果浏览器是旧的。

//You will need to check which browsers don't support n-th child. But I doubt IE will  for example... 
if($.browser.msie && $.browser.version < 9) { 
    $('tr:odd').addClass('odd'); 
    $('tr:even').addClass('even'); 
} 
+0

如果您在服务器端(例如PHP)生成表格行,您可以为每行添加一个“偶数”或“奇数”类。这有利于在任何值得担心的浏览器中工作,并且它的性能与您可以获得的一样(除了根本不使用CSS)。 – 2010-09-02 21:31:25

2

它不是100%(在Internet Explorer上),但我通常使用CSS nth-child。例如:

.someclass:nth-child(2n+1) { 
    background:#911100; 
} 

会使隔行的background: #911100。整洁的事情是,即使你用jquery删除一行,CSS自动重新记录下面的行。