javascript - 将添加/删除类隔离到单击的项目

标签 javascript jquery addclass removeclass toggleclass

目前我有一个 Accordion 菜单,每次点击 .responsive-accordion-head 我都会告诉它按如下方式切换类:

$('.responsive-accordion-head').click(function () {

    if ( $( '.responsive-accordion-head i' ).hasClass( "plus-2" ) ) {

        $('.responsive-accordion-head i').removeClass("plus-2");
        $('.responsive-accordion-head i').addClass("minus-2");

    } else {
        $('.responsive-accordion-head i').removeClass("minus-2");
        $('.responsive-accordion-head i').addClass("plus-2");
    }

});

我遇到的问题是上面的代码更改了所有 .responsive-accordion-head 元素的类。我需要它仅特定于单击的项目。我该怎么做?

最佳答案

所有这些都可以简化为:

$('.responsive-accordion-head').click(function () {
    $(this).find('i').toggleClass('plus-2 minus-2');
});

关于javascript - 将添加/删除类隔离到单击的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30381915/

相关文章:

javascript - SVG 元素不遵守 CSS 命令,它总是位于屏幕中间,我不知道为什么?

javascript - 如何删除除您单击的类(class)之外的所有类(class)?

javascript - JQuery 函数被调用,未执行并且开发控制台中没有错误

javascript - jQuery addClass 导致窗口在 Android 和 iPhone 上滚动回到顶部

jQuery addClass 只要至少一个后代有类

javascript - 一个简单的 Angular js 程序来渲染不同的 View 是行不通的

javascript - 简单的问答游戏 JavaScript

javascript - 替换innerHTML后EventListener不起作用

jquery - android chrome 上用于响应式图库的奇怪线条(Flexslider、bootstrap.js)

javascript - 如何制作 Jquery Popup 便签