Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.02.2017, 18:52
Новичок на форуме
Отправить личное сообщение для TimurChic Посмотреть профиль Найти все сообщения от TimurChic
 
Регистрация: 26.02.2017
Сообщений: 2

Нужно скрыть/показать блок <li> в таблице.
Подскажите, как лучше решить такую задачу? Нужно, чтобы вставлялся блок "Активных задач нет", если этих блоков с задачами нет. И, собственно скрывался если эти блоки появляются Сделали вот такой вариант, но кажется что это не совсем хорошее решение
<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="UTF-8">
	<title>Задачи</title>
</head>
<body>
	<ul class="tasks-list" id="tasks">
		<li class="tasks-list__item">
			<a class="tasks-list__title _gray" href="#">
				<span class="tasks-list__text">Задачи</span>
				<span class="tasks-list__btn"></span>
			</a>
		</li>
	</ul>
	<script>
		var list = document.querySelector(".tasks-list");
		var countLi = list.getElementsByTagName("li").length;
		var taskContainer = document.getElementById("tasks");

	if (countLi <= 1) {
    	var li = document.createElement("li");
    	var a = document.createElement("a");
    	var span = document.createElement("span");

    	li.classList.add("tasks-list__no-tasks");
    	a.classList.add("tasks-list__title");
    	span.classList.add("tasks-list__text");
    	span.innerText = "Активных задач нет";
    	a.href = "#";
    	a.appendChild(span);
    	li.appendChild(a);
    	taskContainer.appendChild(li);
	}

	if (countLi >= 1) {
        var elemLi = document.getElementsByClassName("tasks-list__no-tasks")[0];
        taskContainer.removeChild(elemLi);
        }
	
	</script>	
</body>
Ответить с цитированием
  #2 (permalink)  
Старый 27.02.2017, 19:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

TimurChic,
а зачем нужно удалять то что не ставилось? и конечно зачем добавлять, почему это не сервер делает?
Ответить с цитированием
  #3 (permalink)  
Старый 27.02.2017, 19:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

TimurChic,
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <title>Задачи</title>
</head>
<body>
  <ul class="tasks-list" id="tasks">

  </ul>
  <script>
 var list = document.querySelector(".tasks-list");
 if (!list.children.length) {
    	var li = document.createElement("li");
    	var text = document.createTextNode("Активных задач нет");
        li.className = "tasks-list__no-tasks";
    	li.appendChild(text);
    	list.appendChild(li);
  }
  </script>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 27.02.2017, 20:04
Новичок на форуме
Отправить личное сообщение для TimurChic Посмотреть профиль Найти все сообщения от TimurChic
 
Регистрация: 26.02.2017
Сообщений: 2

Немного может не до конца объяснил проблему))) Вот этот блок
<li class="tasks-list__item">
           <a class="tasks-list__title _gray" href="#">

                <span class="tasks-list__text">Задачи</span>

                <span class="tasks-list__btn"></span>

           </a>

</li>

Он изначально всегда в верстке, остальные блоки генерируются при помощи JS. Нужно написать код, который будет проверять, есть ли блок с другими задачами и если их нет, то вставляется такой блок "Активных задач нет". И наоборот, когда добавляем задачу, этот блок убирается)) Как-то так
Ответить с цитированием
  #5 (permalink)  
Старый 27.02.2017, 20:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

TimurChic,
не понял ничего, что блоки генерирует то пусть и добавляет Активных задач нет, что задачи добавляет то и убирать должно Активных задач нет
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery Скрыть/Показать блок при наведении tot_kotoryi Ваши сайты и скрипты 1 08.02.2016 23:15
Нужно чтобы первый блок был открыт mcsignal Общие вопросы Javascript 4 21.01.2016 10:01
нужно сделать фильтрацию элементов в таблице с помощью javascript vladi_09 ExtJS 1 05.10.2011 15:56
Нужно удалить строку в таблице. Раиль Элементы интерфейса 2 16.12.2010 15:58
Фиксированный блок kakarotto Элементы интерфейса 2 09.07.2010 00:20