$('#axe, #saw').click(function(e) {
var id = $(this).attr('id');
if (id == 'axe') {
$(this).toggleClass('as-in-one as-one');
} else if (id == 'saw') {
$(this).toggleClass('as-in-two as-two');
}
})

.as-in-one {
color: red;
}
.as-one {
color: blue;
}
.as-in-two {
color: red;
}
.as-two {
color: blue;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id='axe' class='axe as-in-one'>AXE</button>
<button id='saw' class='saw as-in-two'>SAW</button>
&#13;
在我的代码中,我希望只能更改一个按钮的类,从red
到blue
,但如果我点击另一个按钮,则第一个按钮变为默认类red
如果它是blue
而另一个被切换到blue
,反之亦然。
答案 0 :(得分:1)
也许不是我想做的 - 但是你去了!单击axe
后,添加as-in-two
类并删除as-two
类,单击saw
后,添加as-in-one
类并删除{{ 1}} class。
见下面的演示:
as-one
&#13;
$('#axe, #saw').click(function(e) {
var id = $(this).attr('id');
if (id == 'axe') {
$(this).toggleClass('as-in-one as-one');
$('#saw').addClass('as-in-two');
$('#saw').removeClass('as-two');
} else if (id == 'saw') {
$(this).toggleClass('as-in-two as-two');
$('#axe').addClass('as-in-one');
$('#axe').removeClass('as-one');
}
})
&#13;
.as-in-one {
color: red;
}
.as-one {
color: blue;
}
.as-in-two {
color: red;
}
.as-two {
color: blue;
}
&#13;
最好使用单个<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id='axe' class='axe as-in-one'>AXE</button>
<button id='saw' class='saw as-in-two'>SAW</button>
和red
类:
blue
&#13;
$('.as-in-one').click(function(e) {
$('.as-in-one').not(this).removeClass('as-one');
$(this).toggleClass('as-one');
})
&#13;
.as-in-one {
color: red;
}
.as-in-one.as-one {
color: blue;
}
&#13;
答案 1 :(得分:1)
按钮不需要单独的类,如果在它们上使用相同的类,则更容易:只需选择“其他”按钮并重置其状态:
$('#axe, #saw').click(function(e) {
var id = $(this).attr('id');
var other = $(id == 'axe' ? '#saw' : '#axe');
$(this).toggleClass('as-in as');
other.removeClass("as").addClass("as-in");
});
.as-in {
color: red;
}
.as {
color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id='axe' class='axe as-in'>AXE</button>
<button id='saw' class='saw as-in'>SAW</button>
答案 2 :(得分:0)
我认为你正在寻找这样的事情。
$('#axe, #saw').click(function(e) {
if(!$(this).hasClass('as')){
$(this).toggleClass('as');
$(this).siblings().not(this).removeClass('as');
}
})
&#13;
.as-in {
color: red;
}
.as {
color: blue;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id='axe' class='axe as-in'>AXE</button>
<button id='saw' class='saw as-in'>SAW</button>
&#13;