javascript - 删除 jquery 类时出现问题

标签 javascript jquery removeclass

有人可以帮我解决这个问题吗?
基本上,我希望脚本在单击时将“active”类添加到“li”,并在另一次单击时将其删除 - 好吧,它添加该类并自动删除它:-) 我真的很感激任何解决方案。

PS。我查看了有关此问题的其他问题,但没有找到任何对我有帮助的答案。

jQuery(document).ready(function() {
    jQuery('li').each(function() {
        var faq = jQuery(this), state = true, answer = faq.next('.answer').hide().css('height','auto').slideUp();
        faq.click(function() {
            state = !state;
            answer.slideToggle(state);
            faq.addClass('active',state);
              if(jQuery("li").hasClass("active")) {
              jQuery(".active").remove(); }
        });
    });
});

JSFiddle

jQuery(".active").removeClass(); }

解决了一半的问题

最佳答案

实际上是.removeClass()你必须尝试..!!

JS FIDDLE

jQuery(document).ready(function() {
    jQuery('li').each(function() {
        var faq = jQuery(this), state = true, answer = faq.next('.answer').hide().css('height','auto').slideUp();
        faq.click(function() {
            state = !state;
            answer.slideToggle(state);
            faq.addClass('active',state);
              if(jQuery("li").hasClass("active")) {
              jQuery(".active").removeClass(); }
        });
    });
});

使用 .toggleClass()

使用

jQuery(document).ready(function() {
    jQuery('li').each(function() {
        var faq = jQuery(this), state = true, answer = faq.next('.answer').hide().css('height','auto').slideUp();
        faq.click(function() {
            state = !state;
            answer.slideToggle(state);
            faq.addClass('active',state);
           $( this ).toggleClass( "active" );
        });
    });
});

DEMO FIDDLE

更新

根据@AndyAndy的评论更新:

imagine that

  • has a "+" icon, and on click it changes to "-" icon and answer shows up.

  • jQuery(document).ready(function() {
        jQuery('li').each(function() {
            var faq = jQuery(this), answer = faq.next('.answer').hide().css('height','auto').slideUp();
            faq.click(function() {
    
                answer.slideToggle('.active');
    
    
                if($(this).text()=='+')
                {
                $(this).text('-');
                }
                else{
                $(this).text('+');
                }
    
    
            });
        });
    });
    

    updated fiddle

    关于javascript - 删除 jquery 类时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23459563/

    相关文章:

    javascript - 使用 xml2js 解析 xml 的 Node

    Javascript,切换按钮按类向元素添加样式

    javascript - 不确定为什么 'userApp' 模块不可用

    javascript - 首先在 10 秒内调用 javascript 函数,然后每 25 秒调用一次 [jQuery]

    javascript - 根据复选框禁用/启用按钮

    javascript - 如何在不删除其子项的情况下删除 div?

    javascript - 如何中断输入的 javascript 操作并开始新操作

    jquery - 如何使用引导 Accordion 折叠两个 Accordion

    JQuery 将类添加到选定的 div,如果选择了另一个 div,则删除类

    javascript - 如何在 jQuery 中删除异常的类