2012-01-04 18 views
0

我正在使用Ajax控件工具包的TabContainer的页面上工作。在每个TabPanel有一个GridView。在TabContainers中对GridView应用交替行样式的更有效方法

<act:TabContainer runat="server"> 
    <act:TabPanel runat="server"> 
     <asp:GridView runat="server" ...> 
     </asp:GridView> 
    </act:TabPanel> 
     ... 
    <act:TabPanel runat="server"> 
     <asp:GridView runat="server" ...> 
     </asp:GridView> 
    </act:TabPanel> 
</act:TabContainer> 

然后在前端,JQuery tablesorter绑定到表。在的tablesorter绑定后,行以交替的方式风格,这与下面的代码位完成:

var rows = $('tr.Clickable'); 

for (var i = 1; i < rows.length; i += 2) { 
    var oddrow = 'tr.Clickable:eq(' + i.toString() + ');'; 
    $(oddrow).addClass('odd'); 
} 

在一些机器上的浏览器返回警告了一个脚本所花费的时间太长完成,并且这是在之前的javascript被添加之后发生的。我认为使用选择器:tr.Clickable:eq(n)是罪魁祸首。

我想只在rows阵列环以及用于与行和是奇数索引做一个.addClass('odd'),然而,rows阵列的元件不具有.addClass方法,所以就用:eq选择器补偿。

这样的工作,但非常缓慢,有没有更快的方法来做到这一点?

回答

3

使用:odd选择

$('tr.Clickable:odd').addClass('odd');