2012-06-21 45 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

我現在就來看看。謝謝。 –