JavaScript, как сделать “фильтр” при клике?

214
23 февраля 2018, 16:04

Здравствуйте, можете, подсказать по JavaScript. Есть многоуровневое меню, и вот в данной ситуации, по клику на кнопку – span с классом submenu-caret, у меня открываются и закрываются абсолютно все подменю с классом shop-menu-level-2

Как сделать, чтобы функция slideDown() и slideUp() работала только для того блока с классом shop-menu-level-2, который находится в том же родителе, что и кнопка submenu-caret, по которой делается клик?

    // shop-menu
$('.submenu-caret').click(function () {
        if (this.innerText == "+") {
            this.innerText = "-";
            $('.shop-menu-level-2').slideDown();
        } else {
            this.innerText = "+";
            $('.shop-menu-level-2').slideUp();
        }
});

<li class="level-1 parent">
     <div>
         <span class="submenu-caret">+</span>
         <a href="#">Двигатели</a>
      </div>
      <ul class="shop-menu-level-2">
         <li class="level-2">
             <a href="#">Двигатели дизельные</a>
          </li>
          <li class="level-2">
             <a href="#">Двигатели бензиновые</a>
          </li>
       </ul>
</li>

Answer 1

Доходите до родителя $(this).closest('.level-1') - потом вниз .find('.shop-menu-level-2')

$('.submenu-caret').click(function () {
  if (this.innerText == "+") {
    this.innerText = "-";
    $(this).closest('.level-1').find('.shop-menu-level-2').slideDown();
  } else {
    this.innerText = "+";
    $(this).closest('.level-1').find('.shop-menu-level-2').slideUp();
  }
});
Answer 2
$('.submenu-caret').click(function () {
  if (this.innerText == "+") {
    this.innerText = "-";
    $(this).closest('.parent').find('.shop-menu-level-2').slideDown();
  } else {
    this.innerText = "+";
    $(this).closest('.parent').find('.shop-menu-level-2').slideUp();
  }
});
READ ALSO
Django 2.0 не удается подключить bootstrap.min.css

Django 2.0 не удается подключить bootstrap.min.css

На сам бутстрап ссылаюсь так

328
&ldquo;Дырка&rdquo; в родительском блоке CSS

“Дырка” в родительском блоке CSS

Всем привет, в общем проблема такова, есть фон - картинка, на нем есть блок с контентом, в нем еще блок для заголовка этой информацииНужно сделать...

195
Как сделать срез картинки в css?

Как сделать срез картинки в css?

Добрый деньЕсть вот такая PSD=шка

174
Вставить если нет дубликатов mySQL

Вставить если нет дубликатов mySQL

Всем привет! 4й час ковыряю интернет безрезульатно = Подскажите, пжлст, как составить запрос на добавление строки, но если еще НЕТ такой строкиНаходил...

185