jQuery - 关闭/切换元素

时间:2014-01-20 00:40:02

标签: jquery

我遇到的问题是,当单击活动按钮时,它不会删除其活动状态并隐藏p标记

http://jsfiddle.net/5qDY2/

 $('.section button').click(function () {
    $('.section p').hide();
    $('button').removeClass('active');

    $(this).toggleClass('active').closest('div').children('p').toggle();
 });

我确定有更好的方法可以做到这一点,但我似乎无法弄清楚

1 个答案:

答案 0 :(得分:2)

问题是你首先隐藏了所有p个元素,然后你正在调用当前p元素上的切换,它将以任何方式显示它,因此你的切换命令将被视为无效< / p>

按钮添加/删除类也是如此

var $ps = $('.section p');
var $buttons = $('.section button').click(function () {
    $buttons.not(this).removeClass('active');
    var $target = $(this).toggleClass('active').closest('div').children('p').toggle();
    $ps.not($target).hide();
});

演示:Fiddle

您需要忽略质量removeClass() / hide()操作中的当前按钮/ p元素