为列表中的Last Row元素添加类

时间:2012-03-09 14:06:59

标签: jquery css xhtml

<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>

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

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

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

我想在最后一行为<li>添加一个类(带有jQuery),即使它有3个,2个,1个项目


尝试澄清......

CSS以这样的方式布局<li>元素,每行有3个。

问题在于<li>元素的总数并不总是可以被3整除,因此最后一行可能有12或{{ 1}}元素。

我要做的是在最后一行向3添加一个类。当我不知道会有多少元素时,我怎么能只针对这些元素?

3 个答案:

答案 0 :(得分:3)

您可能需要计算这样的事情:

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

这将只为最后一行的项添加一个类。

如果少于3件物品你只需要处理。但这很容易,对吧? ;)

您可以通过添加或删除<li>项来测试此处: http://jsfiddle.net/7bx6v/2/

答案 1 :(得分:1)

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

答案 2 :(得分:0)

嗯?

$("ul li").slice(-3).addClass("foo");

http://jsfiddle.net/7bx6v/