jQuery перебор DOM элементов

135
12 января 2017, 07:05

Приветствую всех. Есть html примерно такой структуры:

    <div class="title"></div>
<div class="block">
  <div class="item"></div>
  <div class="item"></div>
</div>
<div class="title"></div>
<div class="block">
  <div class="item" style="display: none"></div>
  <div class="item" style="display: none"></div>
  <div class="item" style="display: none"></div>
  <div class="item"></div>
</div>
<div class="title"></div>
<div class="block">
  <div class="item" style="display: none"></div>
  <div class="item" style="display: none"></div>
</div>

Подскажите, как сделать блоки класса "title" тоже display: none , если все item внутри .block display: none (как бы пустые) , а если хоть один видимый, то не трогать ?

Пробовал функцией .each() обходить .block , а внутри еще .each() по .item ничего не выходит.

Answer 1

Извратиться что ли и упихать всё в одну конструкцию?
Хм.. А вообще я подумал... И что-то ничего лучше не придумывается...

$(".title").hide().next().children(":visible").parent().prev().show()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="title">A</div> 
<div class="block"> 
  <div class="item"></div> 
  <div class="item"></div> 
</div> 
 
<div class="title">B</div> 
<div class="block"> 
  <div class="item" style="display: none"></div> 
  <div class="item" style="display: none"></div> 
  <div class="item" style="display: none"></div> 
  <div class="item"></div> 
</div> 
 
<div class="title">C</div> 
<div class="block"> 
  <div class="item" style="display: none"></div> 
  <div class="item" style="display: none"></div> 
</div>

READ ALSO
Как получить доступ к элементу в cocos creator

Как получить доступ к элементу в cocos creator

Создал сцену, накидал в неё немного картинокТеперь нужно распределить их по местам, рандомно

118
Не изменяется позиция маркера в массиве

Не изменяется позиция маркера в массиве

Есть массив, в котором 5 значений долготы и широты, то есть расположение разных объектовПосмотрел документацию, сделал массив как там

57
Как работать с indexeddb асинхронно?

Как работать с indexeddb асинхронно?

Загружаю данные и сохраняю их в indexeddb базе данныхПериодически у меня база данных зависает и к ней пропадает доступ

95
Es6 TypeScript arguments

Es6 TypeScript arguments

Решил побаловаться TypeScript и es6, а в частности Proxy

103