用于toggleClass和slideToggle的jQuery关闭按钮未按预期工作

用于toggleClass和slideToggle的jQuery关闭按钮未按预期工作,jquery,removeclass,toggleclass,Jquery,Removeclass,Toggleclass,我有一个简单的幻灯片切换设置,我想添加一个关闭按钮,但似乎removeClass()不起作用 单击“关闭”链接时,我希望返回到上一种颜色(remove.active),并保留打开的任何其他颜色。换句话说,这个关闭链接应该只影响它所在的切换。我认为从title div和content div中删除“active”类并向上滑动content div是一件简单的事情 slideUp部分工作正常,但“active”类不会关闭或删除 以下是我的js: $("h2.titleTrigger").click(

我有一个简单的幻灯片切换设置,我想添加一个关闭按钮,但似乎removeClass()不起作用

单击“关闭”链接时,我希望返回到上一种颜色(remove.active),并保留打开的任何其他颜色。换句话说,这个关闭链接应该只影响它所在的切换。我认为从title div和content div中删除“active”类并向上滑动content div是一件简单的事情

slideUp部分工作正常,但“active”类不会关闭或删除

以下是我的js:

$("h2.titleTrigger").click(function(e){
e.preventDefault();
$(this).toggleClass("active").next().slideToggle("fast");
return false;
});

//CLOSE LINK
$(".closeIt").click(function(e){
 e.preventDefault();
$(this).closest(".toggleContent").slideUp("fast");
$(this).closest(".toggleContent").removeClass("active");
$(this).closest("h2.titleTrigger").removeClass("active");
 });


我也尝试过切换类而不是removeClass,但这也不起作用。我哪里出错了?

回答您的请求:
关闭时,我希望打开所有其他打开的链接。换句话说,此关闭链接只应关闭其所在的切换

这把小提琴应该能做到:

jquery:

$("h2.titleTrigger").click(function(e){
    e.preventDefault();
    //$(this).toggleClass("active").next().slideToggle("fast");
    $("#mydiv").slideToggle("fast");


return false;
});

//CLOSE LINK
$(".closeIt").click(function(e){
     e.preventDefault();
    $(this).parent().slideUp("fast");
    $(this).closest(".toggleContent").removeClass("active");
    $(this).closest("h2.titleTrigger").removeClass("active");
 });
html

滑动它
关上它
内分区

回答您的请求:
关闭时,我希望打开所有其他打开的链接。换句话说,此关闭链接只应关闭其所在的切换

这把小提琴应该能做到:

jquery:

$("h2.titleTrigger").click(function(e){
    e.preventDefault();
    //$(this).toggleClass("active").next().slideToggle("fast");
    $("#mydiv").slideToggle("fast");


return false;
});

//CLOSE LINK
$(".closeIt").click(function(e){
     e.preventDefault();
    $(this).parent().slideUp("fast");
    $(this).closest(".toggleContent").removeClass("active");
    $(this).closest("h2.titleTrigger").removeClass("active");
 });
html

滑动它
关上它
内分区

h2不在
.toggleContent
内,也不与关闭按钮关联,因此请尝试此操作()


h2
不在
.toggleContent
内,也不与关闭按钮关联,因此请尝试此操作()


您没有选择元素;最近的()将永远找不到h2

请尝试以下方法:

$(this).closest(".toggleContent").prev().removeClass("active");
小提琴:


您没有选择元素;最近的()将永远找不到h2

请尝试以下方法:

$(this).closest(".toggleContent").prev().removeClass("active");
小提琴:


谢谢,但这并不能回答问题。我想知道如何使用一个“关闭”链接来获得一个被切换打开的div,并在其中添加了类来切换关闭和删除这些类。下面是一个关于您更新和澄清的问题的工作提琴:谢谢,但这并不能回答问题。我想知道如何使用一个“关闭”链接来获得一个被切换打开的div,并在其中添加了类来切换关闭和删除这些类。这里有一个工作提琴来回答您更新和澄清的问题:太棒了!这正是我所想的(.prev()),但似乎找不到答案。万分感谢!!也谢谢你的简短解释。。。这对像我这样的N00B真的很有帮助:)太棒了!这正是我所想的(.prev()),但似乎找不到答案。万分感谢!!也谢谢你的简短解释。。。这对像我这样的N00B真的很有帮助:)