Выберите каждый N-й элемент в jQuery?
jQuery имеет удобные :четные и: нечетные селекторы для выбора четных или нечетных индексированных элементов в наборе, которые я использую для очистки каждого другого элемента в серии плавающих ящиков, следующим образом:
<div class='2up'>
<div> ... </div>
<div> ... </div>
...
<div> ... </div>
</div>
и
// Clear every 2nd block for 2-up blocks
$('.2up>div:even').css("clear", "both");
это работает как шарм.
мой вопрос: есть ли простой способ в jQuery выбрать каждый третий или четвертый элемент, чтобы я мог сделать то же самое с 3-up или 4-up элементами?
4 ответов
вы можете использовать :nth-child(index/even/odd/equation) селектор. http://docs.jquery.com/Selectors/nthChild#index
можно использовать : nth-child (индекс/четное/нечетное/уравнение) селектор.
пример:
<div class='5up'>
<div> ... </div>
<div> ... </div>
...
<div> ... </div>
</div>
и// Clear every 5th block for 5-up blocks
$('.5up>div:nth-child(5n)').css("clear", "both");
или// Clear after every 5th block for 5-up blocks
// note: This will also clear first block.
$('.5up>div:nth-child(5n+1)').css("clear", "both");
нет, не как таковой. The filter
функция позволит вам это сделать.
EDIT:
Я исправлюсь. Воспользуйтесь функцией n-го ребенка, для простоты.