Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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
jQuery-关闭/切换元素_Jquery - Fatal编程技术网

jQuery-关闭/切换元素

jQuery-关闭/切换元素,jquery,Jquery,我遇到的问题是,当单击active按钮时,它不会删除其活动状态并隐藏p标记 我确信有更好的方法可以做到这一点,但我似乎无法弄清楚这一点。问题是您首先隐藏了所有p元素,然后在当前p元素上调用toggle,该元素将以任何方式显示,因此您的toggle命令将被视为不起作用 按钮添加/删除类也是如此 var $ps = $('.section p'); var $buttons = $('.section button').click(function () { $buttons.not(th

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


我确信有更好的方法可以做到这一点,但我似乎无法弄清楚这一点。问题是您首先隐藏了所有
p
元素,然后在当前
p
元素上调用toggle,该元素将以任何方式显示,因此您的toggle命令将被视为不起作用

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

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();
});
演示:

您需要从mass
removeClass()
/
hide()
操作中忽略当前按钮/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();
});