javascript - 如何在单击 var ID 时添加/删除子元素的类?

标签 javascript jquery

我有一个 Accordion ,用于常见问题解答页面。单击特定问题时,部分箭头需要从右变为下。所有其他人都需要默认回到右侧。为了让它发挥作用,我缺少什么?

            <dd id="1" class="accordion-navigation">
                <i class="fa fa-chevron-right"></i> <a class="faq-toggle" href="#faq1">How can I plan my Wedding at Mayan Resorts?</a>
                <div id="faq1" class="content">
                  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                </div>
            </dd>

            <dd id="2" class="accordion-navigation">
                <i class="fa fa-chevron-right"></i> <a class="faq-toggle" href="#faq2">Do you offer a service to plan the event start to finish?</a>
                <div id="faq2" class="content">
                  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                </div>
            </dd>



$('.accordion-navigation').click(function() {
        var id = $(this).attr('id');

                if ($(id).hasClass('active')) {
                        $(id).find('i').removeClass('fa-chevron-right');
                        $(id).find('i').addClass('fa-chevron-down');
                }
                else if (!($('.accordion-navigation').hasClass('active'))) {
                        $('.accordion-navigation').find('i').addClass('fa-chevron-right');
                        $('.accordion-navigation').find('i').removeClass('fa-chevron-down');
                }
});

最佳答案

使用您的 this 实例和 toggleClass,您应该只需几行即可完成此操作:

$('.accordion-navigation').click(function() { 
    //Remove from all
    $('.accordion-navigation i').removeClass("fa-chevron-down").addClass("fa-chevron-right");    

    //Add to current
    $("i", this).toggleClass("fa-chevron-right fa-chevron-down");
});

关于javascript - 如何在单击 var ID 时添加/删除子元素的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26224137/

相关文章:

javascript - 如何使用 javascript 移动这个圆圈?

javascript - 使用 Passport 在 Express 的 POST 中传递参数

变量设置为 X 时的 Javascript 回调

javascript - tbody 无法在 jquery 中工作

javascript - 使用 jQuery 的 MVC 形式的 HTTP 404

javascript - 查找数组中字符串的值

javascript - 如何在React-redux中状态更新后刷新组件

javascript - jsTree 创建文件夹 - 在用户输入名称之前创建的文件夹

javascript - Jquery,从下拉列表中删除选项不起作用

javascript - 如何在javascript中使用if条件来处理json?