Добавление класса для элементов последней строки в списке - PullRequest
0 голосов
/ 09 марта 2012
<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> в каждой строке

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

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

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

Я хочу добавить класс (с jQuery) для <li> в последней строке дажеу него есть 3, 2, 1 элемент


попытка разъяснения ...

CSS размещает элементы <li> таким образом, что3 в строке.

Проблема в том, что общее количество <li> элементов не всегда делится равномерно на 3, поэтому последняя строка может иметь 1, 2 или 3 elements.

То, что я пытаюсь сделать, это добавить класс к <li> s только в последней строке.Как я могу предназначаться только для тех элементов, когда я не знаю, сколько их будет?

Ответы [ 3 ]

3 голосов
/ 09 марта 2012

Вам, вероятно, нужно посчитать что-то вроде этого:

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 голос
/ 09 марта 2012
$("ul.list_availability li:last").addClass("last");
0 голосов
/ 09 марта 2012

Э

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

http://jsfiddle.net/7bx6v/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...