2012-03-09 59 views
-1
<ul class="list_availability"> 
     <li></li> 
     <li></li> 
     <li></li> 
     <li></li> 
     <li></li> 
     <li></li> 
     <li></li> 
     <li></li> 
     <li></li> 
     <li></li> 
     <li></li> 
     <li></li> 
    </ul> 

的列表,這將導致這樣的,每行有花柱3 <li>添加類的最後一排elememts在

|_|_|_| 
|_|_|_| 
| | | | 

|_|_|_| 
|_|_|_| 
| | | 

|_|_|_| 
|_|_|_| 
| | 

我想在加個班(用jQuery)爲<li>的最後一排,甚至它既有3,2,1項


試圖澄清...

CSS以這樣的方式佈局<li>元素,即每行有3個元素。

的問題是,<li>元素的總數不總是3整除,所以最後一排可以有12,或3元素。

我想要做的是在最後一行添加一個類到<li>。當我不知道會有多少人時,我如何才能針對這些元素?

+0

http://api.jquery.com/nth-child-selector/ – 2012-03-09 14:08:42

+2

-1 - 問題含糊不清,寫的不好。你試圖解決什麼問題,你有什麼問題? – reach4thelasers 2012-03-09 14:08:42

+0

好的,請加上。 – MetalFrog 2012-03-09 14:09:06

回答

3

你可能會需要數是這樣的:

lastRowItemsCount = ($("ul.list_availability li").length % 3); 
if (lastRowItemsCount == 0) lastRowItemsCount = 3; 
$("ul.list_availability li").slice(-lastRowItemsCount).addClass("lastRow");​ 

這將一個類加起來也只有最後一排的項目。

你只需要處理,如果有少於3個項目。但那會很簡單,對吧? ;)

您可以通過添加或removin <li>項目在這裏進行測試: http://jsfiddle.net/7bx6v/2/

+0

這是我最好的猜測,但是你需要用'%'替換'MOD' 。 – 2012-03-09 14:15:56

+2

這是jsFiddle上的一些風格,讓它更清晰一些。 http://jsfiddle.net/8gBTe/ – 2012-03-09 14:38:32

1
$("ul.list_availability li:last").addClass("last"); 
+0

,因爲他希望最後一排中的所有元素都添加了一個類 – 2012-04-25 10:23:38

相關問題