Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在secrtion上添加/删除类使用jQuery折叠/展开_Jquery - Fatal编程技术网

在secrtion上添加/删除类使用jQuery折叠/展开

在secrtion上添加/删除类使用jQuery折叠/展开,jquery,Jquery,我有以下逻辑来展开/折叠问答部分。我试图在“a”中添加一个类,以指示折叠/扩展状态。我想我把事情搞得太复杂了,但它不起作用 $(".A").hide(); $(".Q").click(function() { $(".A:visible").slideUp("slow"); $(this).next(".A:hidden").slideDown("slow"); // part below does not work !!! $(this).each(functi

我有以下逻辑来展开/折叠问答部分。我试图在“a”中添加一个类,以指示折叠/扩展状态。我想我把事情搞得太复杂了,但它不起作用

$(".A").hide();
$(".Q").click(function() {
    $(".A:visible").slideUp("slow");
    $(this).next(".A:hidden").slideDown("slow");

   // part below does not work !!!
    $(this).each(function(){
        if ($(this).is(":visible")) {
            $(this).find("span").removeClass("collapsed").addClass("expanded");
        } else {
            $(this).find("span").removeClass("expanded").addClass("collapsed");
        }
    });
});

<div class="Q"><span class="collapsed"></span>aaaa</div>
<div class="A">bbbb</div>

<div class="Q"><span class="collapsed"></span>cccc</div>
<div class="A">dddd</div>
$(“.A”).hide();
$(“.Q”)。单击(函数(){
$(“.A:可见”).slideUp(“慢速”);
$(this.next(.A:hidden”).slideDown(“slow”);
//下面的部分不起作用!!!
$(this).each(function(){
如果($(this).is(“:可见”)){
$(this).find(“span”).removeClass(“折叠”).addClass(“扩展”);
}否则{
$(this).find(“span”).removeClass(“扩展”).addClass(“折叠”);
}
});
});
aaaa
bbbb
中交
dddd

为什么不编辑您的帐户来计算这个额外的要求?我觉得这是一个单独的问题,尽管它与之前的。。。我不确定将其他问题混入原始问题中是否是个好主意,因为它已成功解决。你在寻找什么吗?这正是我要寻找的。你能把它作为答案贴出来,这样我就可以接受了。谢谢
$(".A").hide();
$(".Q").click(function() {
    var that = this;
    $(".A:visible").slideUp("slow");
    $(".Q span.expanded")
        .removeClass('expanded')
        .addClass('collapsed');
    $(this)
        .next(".A:hidden")
        .slideDown("slow", function(){
            $('span.collapsed', that)
                .removeClass('collapsed')
                .addClass('expanded');
        });
});