我的问题是,单击活动按钮时,它不会删除其活动状态并隐藏p标签
$('.section button').click(function () {
$('.section p').hide();
$('button').removeClass('active');
$(this).toggleClass('active').closest('div').children('p').toggle();
});
我确定有更好的方法可以做到这一点,但我似乎无法弄清楚
问题是您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();
});
演示:小提琴
您需要从质量removeClass()
/hide()
操作中忽略当前的button / p元素
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句