@historydev
Редактирую файлы с непонятными расширениями

Как скрывать родителя если все элементы невидимы?

Доброе утро.Пишу фильтр.
Мне нужно чтобы все блоки внутри которых все блоки скрыты, становились невидимыми.
test2233.na4u.ru - здесь можно посмотреть текущую работу кода.
Вот код:

$('.find').click(function() {
  
  var y2 = $('.gnr0').val();
  var y3 = $('.cnt0').val();
  var y4 = $('.sts0').val();
  
  var filter = [y0,y1,y2,y3,y4];
  
  alert(filter);
  
  filter = JSON.stringify(filter); // все элементы массива превращаем в строки

  $('.n_name').css('display','none');
  
$('.n_name').each(function(){

var genres = $(this).data('genre');

if (genres) {

genres = genres.toString().split(','); // split работает со строками

var genreFound = genres.some(
function(item) {

return filter.indexOf(item) !== -1
}
)

if (genreFound) $(this).show()

}

else $(this + '.n_list').hide() //моя жалкая попытка это реализовать(Не работает)
})
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
@sybear
Скрывай всех родителей. Как только есть элемент, который найден, показывай его родителя

$('.n_name').css('display','none');
$('.n_list').hide();

if (genreFound) $(this).show()
$(this).parents('.n_list').show();
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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