Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.12.2017, 22:08
Аспирант
Отправить личное сообщение для Ленча Посмотреть профиль Найти все сообщения от Ленча
 
Регистрация: 13.07.2014
Сообщений: 65

Скрыть пустые блоки
Есть несколько блоков класса tablewrap

В этих блоках всегда есть заголовки. Но, в зависимости от фильтрации, не всегда есть что-то помимо заголовков.

Задача: скрыть блоки, в которых нет ничего, кроме заголовка.

Наваяла такую штуку, ориентируясь на наличие или отстутсвие строк в блоках

( function($) {
		$(document).ready(function () {
				$(!'div:contains("items-row")').closest('.tablewrap').remove();
		});
	} ) ( jQuery );


Только работает это неправильно. Если хоть в одном блоке есть Items-row - показывает все, и пустые, и с элементом. Если нигде нет - все скрывает.

Нужно как-то задать обод блоков по порядку и для каждого выполнять эту функцию отдельно, но что-то ничего похожего не гуглится.

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 14.12.2017, 22:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 23,230

Ленча,
сделайте минимальный html, чтоб было понятно, что хотите удалить, а что оставить.
Ответить с цитированием
  #3 (permalink)  
Старый 14.12.2017, 22:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 23,230

Сообщение от Ленча
для каждого выполнять эту функцию отдельно
each
Ответить с цитированием
  #4 (permalink)  
Старый 14.12.2017, 22:53
Аспирант
Отправить личное сообщение для Ленча Посмотреть профиль Найти все сообщения от Ленча
 
Регистрация: 13.07.2014
Сообщений: 65

<div class="tablewrap">
	<h2>Заголовок</h2>
		<div class="items-row">
			блаблабла
		</div>	
</div>
<div class="tablewrap">
	<h2>Заголовок</h2>
</div>
<div class="tablewrap">
	<h2>Заголовок</h2>
		<div class="items-row">
			блаблабла
		</div>	
</div>


Второй tablewrap нужно удалить, потому что он не содержит внутри items-row

Количество блоков произвольное, в каком не будет элемента - заранее сказать нельзя.

each у меня что-то не взлетело(

( function($) {
		$(document).ready(function () {
			$( "tablewrap" ).each(function( ) {
				if(!$(this).children('.items-row').length > 0) {
					$(this).css("display":none);
				}
			});
		});
	} ) ( jQuery );

Последний раз редактировалось Ленча, 14.12.2017 в 22:58.
Ответить с цитированием
  #5 (permalink)  
Старый 14.12.2017, 23:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 23,230

Ленча,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
     $(".tablewrap").each(function(indx, el){  
           $(el).has(".items-row").length || $(el).remove()
           });
});
  </script>
</head>

<body>
<div class="tablewrap">
	<h2>Заголовок</h2>
		<div class="items-row">
			блаблабла
		</div>
</div>
<div class="tablewrap">
	<h2>Заголовок</h2>
</div>
<div class="tablewrap">
	<h2>Заголовок</h2>
		<div class="items-row">
			блаблабла
		</div>
</div>


</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 14.12.2017, 23:23
Аспирант
Отправить личное сообщение для Ленча Посмотреть профиль Найти все сообщения от Ленча
 
Регистрация: 13.07.2014
Сообщений: 65

Ух ты! Красиво)

Спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрыть все блоки div по условию Mishat Общие вопросы Javascript 3 22.02.2017 09:50
Как сделать чтобы удалялись/скрывались пустые элементы таблицы Alex_newguy Общие вопросы Javascript 7 06.02.2017 15:01
Как скрыть блоки с одинаковыми классами кроме того кторый не нужно скрывать? Dydaevskiy Серверные языки и технологии 28 24.11.2016 13:51
Показать скрыть блоки nurik2120 Элементы интерфейса 4 18.06.2013 09:59
Пустые элементы массива lammeR Общие вопросы Javascript 5 25.05.2010 01:59