JQuery FAQ Аккордеон открыт только по одному - PullRequest
0 голосов
/ 29 сентября 2019

У меня есть страница на сайте, на которой есть несколько вопросов и ответов, где, когда вы нажимаете «+», ответ слайдшоу.У меня возникла проблема, когда при нажатии на все ответы на все открытые вопросы я нажимаю поочередно.

Есть ли способ сделать это с помощью «родителя»?дочерние "селекторы в jQuery?

HTML:

                <div class="main-slide">
                    <div class="main-slide-title">
                        <p>One-time Close Purchase/Construction Loans</p>
                    </div>
                    <div class="main-slide-plus">
                        <p>+</p>
                    </div>
                </div>
                <div class="sub-slide default-hidden">
                    <ul>
                        <li>Finance the construction</li>
                        <li>Purchase of lot</li>
                        <li>Permanent loan</li>
                        <li>FHA, and VA are available</li>
                    </ul>
                </div>
            </div>

jQuery:

$(".main-slide-plus").click(function () {
  $(".sub-slide").slideToggle(500);
});

Ответы [ 2 ]

0 голосов
/ 29 сентября 2019

Если это структура, которую вы повторяете для аккордеона, вам нужно перейти к родителю, а затем найти следующий элемент .subslide.По линии следующего:

$(".main-slide-plus").click(function () { 
   $(this).parent().next(".sub-slide").slideToggle(500); 
});
0 голосов
/ 29 сентября 2019

Да, из предоставленного вами фрагмента HTML вы можете получить родительский элемент main-slide, а затем переключить брата с классом sub-slide

Так что-то вроде

$(".main-slide-plus").click(function () {
  $(this).parents(".main-slide").sibilings(".sub-slide").slideToggle(500);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...