Применение класса к каждому третьему элементу списка - PullRequest
3 голосов
/ 31 октября 2011

У меня есть следующий скрипт. На данный момент он выбирает 3-й элемент в моем списке и не оставляет его на полях. Проблема в том, что он делает это только один раз, есть ли способ, которым я могу сделать это с каждым третьим пунктом в списке? Я попытался использовать .each, но не смог заставить его работать успешно.

<script>
$(document).ready(function() {
    $("#contentlist li:eq(2)").css({marginRight: '0'});
});
</script>

Ответы [ 2 ]

4 голосов
/ 31 октября 2011

Используйте CSS-селектор nth-child:

$("#contentlist li:nth-child(3n)").css({marginRight: '0'});

Демо (с цветами вместо полей): http://jsfiddle.net/ambiguous/DRCLF/

4 голосов
/ 31 октября 2011

Псевдокласс nth-child, использующий 3n, может сделать это.

$( '#contentlist li:nth-child(3n)' ).css({marginRight: '0'});

Демо: http://jsfiddle.net/ThinkingStiff/gjvpR/

HTML:

<ul id="contentlist">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>

Сценарий:

$( '#contentlist li:nth-child(3n)' ).css( {marginLeft: '20px'} );

Выход:

enter image description here

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