Как при условии что если в блоке есть класс такой то, то изменить текст внутри одного блока?

Есть каталог товара, так как сайт сделан на конструкторе, надо как то через js это сделать

Есть товары например

<div class="item">
  <div class="photo">
  </div <div class="price">
  123руб
</div>
</div>

<div class="item">
  <div class="photo">
  </div>
  <div class="not-available">
    Нету в наличии
  </div>
  <div class="price">
    Свяжитесь с нами
  </div>

</div>

Как если в блоке .item есть класс .not-available то менять текст .price?


Ответы (1 шт):

Автор решения: ksa

Как если в блоке .item есть класс .not-available то менять текст .price?

Такое можно сделать вот так...

document.querySelectorAll('.item .not-available').forEach(o => {
  const op = o.closest('.item').querySelector('.price')
  op.textContent += ' (вот, поменял)'
})
<div class="item">
  <div class="photo">
  </div <div class="price">
  123руб
</div>
</div>

<div class="item">
  <div class="photo">
  </div>
  <div class="not-available">
    Нету в наличии
  </div>
  <div class="price">
    Свяжитесь с нами
  </div>

</div>

→ Ссылка