2009-10-05 2 views
1

Прямо сейчас у меня есть сценарий с несколькими UL с 5 или более LI - для каждого UL я бы хотел применить определенный стиль к VL.Таргетинг на каждый n-й ли с помощью jQuery: eq

Использование:

$("ul li:eq(4)")

работает отлично для первого UL на странице, но пукает за оставшиеся UL годов. Любая идея, как получить это ударил все UL?

Кроме того, в конечном счете, я бы хотел настроить таргетинг на 5-ти, 5-й, 10-й, 15-й и т. Д. ... Не знаю, как бы я это сделал, не указывая вручную eq (9), eq (14) и т.д ...

ответ

6

Попробуйте

$("ul li:nth-child(5)") 

From jquery website

+0

Ах, не знал, что существует n-й ребенок ... Спасибо! – majman

1

$('ul li:nth-child(5)') должен предоставить вам каждый 5-й элемент списка.

Что касается того, почему jQuery не моделирует все списки на вашей странице, это странно. Вы помещаете это объявление в другую часть вашего кода, что оно работает только с определенной частью страницы (т. Е. Вы случайно задали более конкретный контекст, чем вы хотели)? Вы можете узнать, добавив в свою декларацию следующее:

console.log ($("ul li:nth-child(5)", document.body).context.nodeName);