У меня есть панель-группа с 6 элементов: толькоселектора CSS: применить стиль на все видимые элементах только
<div class="panel-group" id="accordion1" role="tablist" aria-multiselectable="true">
<div class="panel panel-default">
1
</div>
<div class="panel panel-default">
2
</div>
<div class="panel panel-default js_subscription_open hidden">
3
</div>
<div class="panel panel-default">
4
</div>
<div class="panel panel-default">
5
</div>
<div class="panel panel-default">
6
</div>
</div>
Я хочу, чтобы эти панели в их заместителях цвета (зебры полоса) с помощью CSS,
Поэтому я применил эту формулу:
.panel:nth-child(even) {
background-color: white
}
Моей проблема заключается в том, что я не хочу, чтобы эта формула будет применяться к DIV с «скрытым» классом (третьи дела) ... Я хочу, чтобы «перепрыгнуть» это div ...
Я ищу что-то вроде:
.panel:not(.hidden):nth-child(even) {
background-color: white
}
, но это не работает !! Любая идея?
Для того чтобы 'nth-child' работал в этом случае, вам нужно удалить скрытый div из DOM. Рассмотрим jQuery 'remove()' или 'detach()'. http://stackoverflow.com/q/32385795/3597276 –
Проще говоря, 4-й ребенок всегда является четвертым ребенком, независимо от того, жив ли третий ребенок или нет. Здесь вы выбираете четных детей с родителями, если у них также есть класс .panel, а не класс '.hidden'. Четвертый – Harry
Да, используя JS, разрешите проблему, спасибо Michael_B – taboubim