Правильно добавить стили в разные дивы?

Имею конструкцию https://jsfiddle.net/profy/nh6omc4k/65/

<div class="woosb_r">
.....
</div>
<div class="woosb_r">
.....
</div>

Нужно при клике на один элемент добавить/изменить класс всего родителя и в глубине класс соседа, а при клике на другой элемент все вернуть как было (убрать/изменить класс)

я использовал

$(".woosb_r").on('click', '.woosb-qty-input-plus', function () {
    $('.woosb_r, .woosb-price-ori').addClass('edited');
});

$(".woosb_r").on('click', '.woosb-qty-input-minus', function () {
    $('.woosb_r, .woosb-price-ori').removeClass('edited');
});

номне добавляются стили во всех woosb_r а мне нужно только там где происходит клик, как исправить ?

вот здесь наверно понятней получилось https://jsfiddle.net/profy/nh6omc4k/65/


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

Автор решения: Андрій Панчій

$(".woosb_r").on('click', '.woosb-qty-input-plus', function () {
    let parent = $(this).parents(".woosb_r");
    parent.addClass('edited');
    parent.find('.woosb-price-ori ins').addClass('ed');
}).on('click', '.woosb-qty-input-minus', function () {
    let parent = $(this).parents(".woosb_r");
    parent.removeClass('edited');
    parent.find('.woosb-price-ori ins').removeClass('ed');
});
.woosb_r {
     background: #dbcef5;
}
.woosb_r .edited{
     background: blue !important;
}
.edited{
     background: blue !important;
}
.woosb-price-ori .ed {
  color: #fff !important;
  background: green;
}
.woosb-qty-input-plus, .woosb-qty-input-minus {
    border: 2px solid #333;
    padding: 10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="woosb_r">
  <div class="woosb-qty woosb-qty-plus-minus">
    <div class="woosb-qty-input">
      <div class="woosb-qty-input-minus">эл.2 - клик сюда удалить добавленные классы </div>
      <div class="quantity">
        <label class="text">Количество</label>
        <input class="input-text qty text">
        <span class="product-qty-arrows">
          <span class="lnr lnr-chevron-up"></span>
          <span class="chevron-down"></span>
        </span>
      </div>
      <div class="woosb-qty-input-plus">эл.1 - изменить фон - клик сюда добавить класс к родителю "woosb_r", и в глубину соседнего дива ".woosb-price .woosb-price-ori +новый класс "
      </div>
    </div>
    <div class="woosb-price">
      <div class="woosb-price-ori">
        <del>vbv</del>
        <ins>Это соседний DIV <br>И ЗДЕСЬ поменять ЦВЕТ ТЕКСТА при клике на эл.1</ins> </div>
      <div class="woosb-price-new"></div>
    </div>
  </div>
</div>
<div class="woosb_r">
  <div class="woosb-qty woosb-qty-plus-minus">
    <div class="woosb-qty-input">
      <div class="woosb-qty-input-minus">эл.2 - клик сюда удалить добавленные классы </div>
      <div class="quantity">
        <label class="text">Количество</label>
        <input class="input-text qty text">
        <span class="product-qty-arrows">
          <span class="lnr lnr-chevron-up"></span>
          <span class="chevron-down"></span>
        </span>
      </div>
      <div class="woosb-qty-input-plus">эл.1 - изменить фон - клик сюда добавить класс к родителю "woosb_r", и в глубину соседнего дива ".woosb-price .woosb-price-ori +новый класс "
      </div>
    </div>
    <div class="woosb-price">
      <div class="woosb-price-ori">
        <del>vbv</del>
        <ins>Это соседний DIV <br>И ЗДЕСЬ поменять ЦВЕТ ТЕКСТА при клике на эл.1</ins> </div>
      <div class="woosb-price-new"></div>
    </div>
  </div>
</div>

→ Ссылка