Как добавить пользовательский CSS для последнего потомка, только если он виден в Jquery? - PullRequest
2 голосов
/ 07 августа 2009

Я разрешаю пользователям делать части списка скрытыми / видимыми и т. Д.

Теперь вот мой список:

Основной список, но у самого конечного элемента списка есть некоторый пользовательский CSS "border-bottom: none" - просто чтобы он выглядел немного лучше.

<ul>
      <li class="item">Item</li>
      <li class="widget">widget</li>
      <li class="item">Item</li>
      <li class="item">Item</li>
      <li class="widget">Widget</li>
      <li class="widget">Widget</li>
</ul>

Когда я использую селектор last , чтобы добавить собственный CSS, он работает отлично. Моя проблема в том, что когда я скрываю виджеты, они скрыты, как и предполагалось, но для этого используется пользовательский CSS, и поскольку они скрыты, граница все равно отображается.

Мой вопрос: как применить CSS только к последнему видимому дочернему элементу?

1 Ответ

9 голосов
/ 07 августа 2009

используйте селектор ": visible":

$("li:visible:last").css("your css rules");
...