Подскажите, как применить класс всем дочерним элементам?
Данные приходят с сервера и надо чтобы блок скрывался, если данных не хватает (т.е. если данных нет, то и блок для этих данных скрывается)
В данный момент добавляю hidden для каждого блока отдельно, а потом убираю hidden у каждого блока отдельно при выполнении условий, но понимаю что надо и можно оптимизировать всё это
Часть кода:
relatedOffers.forEach(({suggestions}) => {
const advert = template.cloneNode(true);
advert.classList.add('hidden');
const popupTitle = advert.querySelector('.popup__title');
if (suggestions.title.length > 0) {
popupTitle.classList.remove('hidden');
popupTitle.textContent = suggestions.title;
}
const popupAddress = advert.querySelector('.popup_address');
if (suggestions.address.length > 0) {
popupAddress.classList.remove('hidden');
popupAddress.textContent = suggestions.address;
}
const popupDescription = advert.querySelector('.popup_description');
if (suggestions.description.length > 0) {
popupDescription.classList.remove('hidden');
popupDescription.textContent = suggestions.description;
}
const popupFeatures = advert.querySelector('.popup_features');
while (popupFeatures.firstChild) {
popupFeatures.removeChild(popupFeatures.firstChild);
}
for (let ind = 0; ind < suggestions.features.length; ind++) {
const feature = document.createElement('li');
feature.classList.add('popup_feature');
feature.classList.add(`popup_feature--${suggestions.features[ind]}`);
popupFeatures.appendChild(feature);
}
const popupPrice = advert.querySelector('.popup_price');
if (suggestions.price > 0) {
popupPrice.classList.remove('hidden');
popupPrice.textContent = suggestions.price;
}
}