Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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_Toggle - Fatal编程技术网

Jquery切换多个按钮

Jquery切换多个按钮,jquery,toggle,Jquery,Toggle,我有多个按钮,通过jquery切换脚本获得它们的活动css样式。但我希望一次只激活一个按钮。但是,当我重新单击一个活动按钮时,它必须变为非活动 $(document).ready(function(){ $('.button').click(function() { $(this).toggleClass('buttonactive'); }); }); 基本上我需要加一句话,说: $(除此之外的所有.button)。removeClass('Bu

我有多个按钮,通过jquery切换脚本获得它们的活动css样式。但我希望一次只激活一个按钮。但是,当我重新单击一个活动按钮时,它必须变为非活动

$(document).ready(function(){
    $('.button').click(function() {       
        $(this).toggleClass('buttonactive');
    });
});
基本上我需要加一句话,说:

$(除此之外的所有.button)。removeClass('ButtonActivity')

我不知道怎么做。有人能帮我吗?
这里有一个解决问题的方法:

这应该可以解决问题:

$(document).ready(function(){
    $('.button').click(function() {
        if($(this).hasClass("buttonactive")) {       
            $(this).removeClass('buttonactive');
        } else {
            $(this).addClass('buttonactive');
        }
        $(".button").removeClass("buttonactive"); // removes all other active classes
    });
});

你为什么不干脆把所有的都删除,然后把这个添加进去呢

$('.button').click(function() {       
    $('.button').removeClass('buttonactive');    
    $(this).addClass('buttonactive');
});

您不需要三个
document.ready(function()
。一个就足够了

$('.button').click(function() { 
 $(".button").removeClass("buttonactive");  // remove the class for all button on click
});

您可以这样做,使用切换当前元素..然后使用从移除类中筛选出当前元素

$('.button').click(function() {  
    $('.button').not(this).removeClass('buttonactive'); // remove buttonactive from the others
    $(this).toggleClass('buttonactive'); // toggle current clicked element
});

是的,我试过了。但是我不能使按钮处于非活动状态。当按钮处于活动状态时,框架打开。当我重新单击按钮时,框架关闭,如果按钮也处于非活动状态,这将是直观的。谢谢提示!我只是快速复制粘贴。这不是我想要的,只是其中的一部分。我已经标记了有效的答案。Thanks,但这将使一次只能按下一个按钮,我有此代码。但我还需要能够将该按钮切换回其原始状态。我已更新了我的答案。从我第一次阅读时就不清楚您是否希望删除所有活动状态,并禁用已激活的现有按钮。
$(“.button”).removeClass(“buttonactive”);
将从所有按钮中删除
buttonactive
类。因此,它将始终转到
其他部分
部分颠倒逻辑,很好地指出:)谢谢你的努力,但是ryadavilli的答案很有效,而且要小得多!这是我想要的声明,我不知道它是否存在。但是你一定喜欢jquery/javascript!@ThomasCS我等了很久,以为其他人会得到答案。但是他们花了太长时间,所以我想我会回答:)这很有趣,因为它和我的sugg完全一样ested代码:$(除此之外的所有.button)。removeClass('ButtonActivity');但在true jquery中。