энный ребенок jQuery, который в настоящее время видим

Я могу разработать каждое 4-е отделение 'объекта' как так

  jQuery(".item:nth-child(4n)").addClass("fourth-item");

и это хорошо работает, но тогда я скрываю некоторые объекты, покажите некоторым другим и хотите восстановить это моделирование, но только моделирование каждого 4-го объекта, который видим. Таким образом, у меня есть функция, которая удалит это моделирование и повторно применит его, но я должен определить в повторном применении стиля, что это - только каждый 4-й видимый объект, не каждый 4-й объект. Я знаю ": видимый" селектор, но не может замеченный объединить его в цепочку с энно-дочерним селектором правильно, какими-либо идеями?

Я попробовал различные вещи как это напрасно...

jQuery(".item").removeClass("fourth-item");
jQuery(".item:visible:nth-child(4n)").addClass("fourth-item");
11
задан Michael Behan 1 February 2010 в 09:34
поделиться

1 ответ

: Nth-Child Сканирует детей родителей, независимо от того, каковы их стиль. Подсчет в : Nth-Child относительно родительского элемента, а не предыдущий селектор. Это объясняется в документах jQuery для : Nth-Child :

с : Nth-Child (N) , все дети считаются, независимо от того, что они есть, и Указанный элемент выбран только в том случае, если он совпадает с селектором, прикрепленным к псевдо-классу.

Используя более простой способ с помощью каждый делает именно то, что вы хотите:

$('#test li:visible').each(function (i) {
    if (i % 4 == 0) $(this).addClass('fourth-item');
});
29
ответ дан 3 December 2019 в 03:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: