我有一个3 div,jQuery脚本在单击div时添加一个类:
.red{ background-color: red; }
我想要做的是修改jQuery,以便下次添加。red
类时添加.blue
,.red
,{{1等等...
我的脚本你可以the in this demo:
.blue
对不起,我没有多分享,但我的可怕尝试只会让人感到困惑。
我希望我已经说清楚了,如果不是,请问!!
提前致谢!!
更新
我认为问题不够明确,所以我会尝试进一步解释。
基本上需要三个div,第一次点击,将点击的div转换为红色,第二次将点击转换为蓝色,红色等于在,他们应该切换(点击第一次点击时转为红色或蓝色是唯一重要的一个)
答案 0 :(得分:7)
编辑:根据以下评论,您可能希望为每个点击的后续项目替换颜色,并且无法尊重它。
这应该这样做:
示例: http://jsfiddle.net/patrick_dw/zUdWq/
$('a').click((function() {
var i = 0;
var colors = ['blue','red'];
return function() {
$(this).addClass( colors[i = ++i % 2] ).unbind('click');
};
})());
这使用闭包来包装变量。如果你不想/不需要,那么没有闭包就是一样的。
示例: http://jsfiddle.net/patrick_dw/zUdWq/1/
var i = 0;
var colors = ['blue','red'];
$('a').click(function() {
$(this).addClass( colors[i = ++i % 2] ).unbind('click');
});
原始回答:
$a.addClass('red').click(function(){
$(this).toggleClass('red blue');
});
首先在页面加载时添加red
类,然后在每次点击时切换red
和blue
。
如果您想在项目上没有任何课程的情况下开始,那么您可以这样做:
$a.click(function(){
if( !this.className ) {
this.className = 'red';
} else {
$(this).toggleClass('red blue');
}
});