Как сделать чтобы спойлер раскрывался по одному, а не все сразу с помощью JQuery

$(function() {
  $(".spoiler_title").on("click", function(event) {
    $(".spoiler__inner").toggleClass("active");
    $(".spoiler_title").toggleClass("active");
    $(".spoiler_text").toggleClass("active");
    $(".line").toggleClass("active");
  });
});
.spoiler__inner {
  position: relative;
  margin-top: 30px;
}

.spoiler__inner.active {
  background-color: #ffe300;
  width: 100px;
  margin: 0 auto;
  border-radius: 10px;
  transition: .3s;
}

.spoiler_title {
  cursor: pointer;
  position: relative;
  font-size: 18px;
  color: #11245f;
  background-color: #fff;
  width: 100px;
  margin: 0 auto;
  height: 20px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 30px;
}

.spoiler_title.active {
  background-color: #ffe300;
  color: #d12036;
  transition: .3s;
}

.spoiler_text {
  padding: 0 70px;
  display: none;
  color: #131313;
}

.spoiler_text.active {
  display: block;
}

.text_1 {
  margin-top: 10px;
  font-size: 14px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="spoiler">
  <div class="spoiler__inner">
    <div class="spoiler_title">
      <p>Заголовок</p>
    </div>
    <div class="spoiler_text">
      <p class="text_1">Текст</p>
    </div>
  </div>
</div>
<div class="spoiler">
  <div class="spoiler__inner">
    <div class="spoiler_title">
      <p>Заголовок</p>
    </div>
    <div class="spoiler_text">
      <p class="text_1">Текст</p>
    </div>
  </div>
</div>


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

Автор решения: Алексей Шиманский

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

$(function() {
  $(".spoiler_title").on("click", function(event) {
    let $wrapper = $(this).closest('.spoiler');
    $wrapper.find(".spoiler__inner").toggleClass("active");
    $wrapper.find(".spoiler_title").toggleClass("active");
    $wrapper.find(".spoiler_text").toggleClass("active");
    $wrapper.find(".line").toggleClass("active");
  });
});
.spoiler__inner {
  position: relative;
  margin-top: 30px;
}

.spoiler__inner.active {
  background-color: #ffe300;
  width: 100px;
  margin: 0 auto;
  border-radius: 10px;
  transition: .3s;
}

.spoiler_title {
  cursor: pointer;
  position: relative;
  font-size: 18px;
  color: #11245f;
  background-color: #fff;
  width: 100px;
  margin: 0 auto;
  height: 20px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 30px;
}

.spoiler_title.active {
  background-color: #ffe300;
  color: #d12036;
  transition: .3s;
}

.spoiler_text {
  padding: 0 70px;
  display: none;
  color: #131313;
}

.spoiler_text.active {
  display: block;
}

.text_1 {
  margin-top: 10px;
  font-size: 14px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="spoiler">
  <div class="spoiler__inner">
    <div class="spoiler_title">
      <p>Заголовок</p>
    </div>
    <div class="spoiler_text">
      <p class="text_1">Текст</p>
    </div>
  </div>
</div>
<div class="spoiler">
  <div class="spoiler__inner">
    <div class="spoiler_title">
      <p>Заголовок</p>
    </div>
    <div class="spoiler_text">
      <p class="text_1">Текст</p>
    </div>
  </div>
</div>

→ Ссылка