Чтобы не создавать новую тему, отпишу сюда. Табы на добавление-удаление работают как нужно. Единственное, если удалить последнюю табу, то консоль выдаёт ошибку:
Uncaught TypeError: Cannot read property 'classList' of null
//Remove tab
function removeTab(nodeArr) {
return function(){
nodeArr.forEach(function(el) {
el.parentNode && el.parentNode.removeChild(el);
});
setTimeout( function() {
tabs.querySelector("*").classList.add("active");
defaultDiv.querySelector("*").classList.add("active");
}, 0);
};
}
Это она ругается на строчки в функции
setTimeout, когда последнюю табу удаляем, их же больше не остаётся. Логично было предположить, что создав условие типа
if (tabs.childNodes.length) {
tabs.querySelector("*").classList.add("active");
}
можно было бы избежать ошибки, но консоль как игнорирует условие и однозначно выдаёт ошибку и с
if, и без него.
Что в данном случае сделано не правильно?
Как избежать ошибки в консоли при удалении последней табы?
Ссылка на JS Bin