Будет абстрактное решение тк как я не хочу разбираться в 4+ вложенностях.
let tag; // Суда мы помещаем теги в виде массива [news,goods,books]
let allNews; //масив с нашими элементами
allNews.forEach(function(item){
let itemTag = item.dataset.tag; // Получаем тег элемента
if(tag.indexOf(itemTag) == -1){
item.style.display = "none";
return;
}
item.style.display = "block";
})
Тк же рекомендую не напрямую изменять
А если не активен то добавлять класс который будет делать красивое исчезновение элементов.
Типо баче)