2012-06-21 32 views
0

我的JavaScript是相当基本的,但由于某种原因,我有麻烦。我有一个动态构建的表,我的脚本的目标是选择最后5行,如果有多于10行的总数并将css样式应用于最后五行。我建立了一个简化的例子,前5行应该是蓝色的,最后5行是红色的。 http://jsfiddle.net/helpinspireme/3zCp8/奇数行的行为

可能有更好的方法来做到这一点。任何帮助,将不胜感激。谢谢。

答案
使用slice()让我实现我的目标。这可以在这里看到:http://jsfiddle.net/helpinspireme/3zCp8/谢谢凯文B.

+0

不剥离下来就够了,太多的噪音。 –

+0

我不认为这里有足够的信息。使用':gt'和':lt'来着色最后5个和前5个可以使用单线程完成,但是看着你的代码,我不确定这是否是你实际要做的。 –

回答

2

为你解释你试图在你的问题做的,来完成它的最简单的方法是:

var rows = $("table.primary_table > tbody > tr"); 
if (rows.length > 10) { 
    rows.filter(":lt(5)").css("background-color", "blue") 
     .end() 
     .slice(-5).css("background-color", "red"); 
} 

http://api.jquery.com/slice

+0

这是完美的。非常感谢你。我不知道slice(),很高兴知道。 –

0

不看代码太久我猜你在寻找gtlt选择器。

编辑:因为无论如何你得到的所有行slice()可能会更好。

+0

我现在就来看看。谢谢。 –