Jquery切换多个按钮
我有多个按钮,通过jquery切换脚本获得活动的css样式。 但我想一次只有一个按钮。 但是,当我重新点击一个活动按钮时,它必须变得不活跃。
$(document).ready(function(){ $('.button').click(function() { $(this).toggleClass('buttonactive'); }); });
基本上我需要添加一行说:
$(all .button except this).removeClass('buttonactive');
我不知道怎么做。 有人能帮我吗? 这是一个有问题的JSFIDDLE: http : //jsfiddle.net/nV5Tu/3/
您可以这样做,使用.toggleClass()来切换当前元素..然后使用.not()过滤掉当前元素从删除类
$('.button').click(function() { $('.button').not(this).removeClass('buttonactive'); // remove buttonactive from the others $(this).toggleClass('buttonactive'); // toggle current clicked element });
小提琴
为什么不简单地删除所有并this
添加?
$('.button').click(function() { $('.button').removeClass('buttonactive'); $(this).addClass('buttonactive'); });
这应该是诀窍:
$(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 }); });
你不需要三个document.ready(function()
..一个就够了……
$('.button').click(function() { $(".button").removeClass("buttonactive"); // remove the class for all button on click });
在这里小提琴