Показать сообщение отдельно
  #20 (permalink)  
Старый 19.04.2016, 23:35
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

Снова я со своими табами.
Теперь возникла необходимость добавить функционал назначения active tab и active div (таб + контент) после удаления узла таб + контент при помощи функции, предоставленной Рони.
Вот слушатель и функция:
tabSpan.addEventListener("click", removeTab([newTab, newContent]));

	//Remove tab
	function removeTab(nodeArr) {
	    return function() {


	        nodeArr.forEach(function(el) {

	           el.parentNode && el.parentNode.removeChild(el);
	      
	        });

	        console.log(tabs.firstChild);
	    };
	 }


консолью пытаюсь вывести firstChild от
<ul id="tabs">

			<li id="defaultTab" class="tab default">
					<span>+</span>
			</li>


		</ul><!--Tabs ul End-->

		<div id="defaultDiv" class="content default">
			
		</div>


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

Т.е. при удалении узла таб + контент должно ничего не произойти, если у них не было класса active, а если такой класс был, то мы его у этой связки удаляем и назначаем "первым детям" для ul#tabs и div#defaultDiv, если такие дети существуют (если были ещё табы до удаления "активного" таба), если нет, то ничего не происходит.

Законсоленный "firstChild" при наличии созданного уже до этого таба выдаёт странную картину (см.рисунок). Как-будто его нет вовсе.

Почему так? И как тогда реализовать такую функцию в моём случае? Подскажите, пожалуйста.

Актуальный JS Bin
Изображения:
Тип файла: jpg Screenshot 2016-04-19 23.16.44.jpg (10.6 Кб, 3 просмотров)
Ответить с цитированием