@heisenberg1

Как применить класс всем дочерним элементам?

Подскажите, как применить класс всем дочерним элементам?
Данные приходят с сервера и надо чтобы блок скрывался, ​если данных не хватает (т.е. если данных нет, то и блок для этих данных скрывается)

В данный момент добавляю 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;
  }
}
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ответы на вопрос 1
@alekcena
Нелинейный наставник
document.querySelector / querySelectorAll ( По 1 элементу / По всем элементам )
//Ищет как CSS через селекторы

Чтобы в CSS Применить стили на все дочерние элементы
.element > *{

}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы