Я знаю, что это очень просто с jQuery, хотя я после разрешения только CSS (если это возможно).Как применить класс к ребенку, если все остальные дети скрыты?
У меня есть список divs, при этом последний элемент является сообщением об ошибке. У меня есть простая система фильтрации, и если ни один из divs не соответствует выбранному фильтру, я бы хотел отобразить ошибку div.
HTML Структура:
<div id="listHolder">
<div class="listItem" data-filter-class="["filter1"]"></div>
<div class="listItem" data-filter-class="["filter2"]"></div>
<div class="listItem" data-filter-class="["filter1"]"></div>
<div class="listItem" data-filter-class="["filter4"]"></div>
<div class="errorItem">Nothing to display here</div>
</div>
То, что я пытаюсь достичь:
Если ДИВ не соответствует ни одному из фильтров, мой фильтр плагин дает им класс inactive
. Следовательно, мне нужно проверить, есть ли у всех div с классом listItem
класс inactive
, чтобы дать классу errorItem
стиль display:block
.
FYI Я использую плагин Wookmark для своего списка и системы фильтрации. Я также использую МЕНЬШЕ.
Если вы можете сделать это с помощью '.active', вы можете сделать это с помощью': not (.inactive) ', правильно? http://jsfiddle.net/rudiedirkx/7b1kyfz3/2/ – Rudie
Собственно, это очень верно; благодаря! (Я буду редактировать это, на мгновение) :) Ах. Извините, я не видел, чтобы вы добавили свой собственный ответ (я стараюсь не обновлять страницу, пока я обновляю свои собственные ответы); если вы предпочтете, что я могу вырезать часть ': not (.inactive)', если вы предпочитаете, чтобы я не дублировал ваш собственный подход? –
Не беспокойтесь. Вы сделали половину работы, я сделал половину работы. – Rudie