我有两个div,div1
和div2
。在单击任何这些div时,我希望从其中删除类.active
,并将该类添加到另一个div中。
我正在尝试下面的代码,但我不知道如何将类添加到另一个未单击的div中。谢谢。
$('.div').click(function() {
$(".div").removeClass("active");
});
.div1 {
background: green;
display: none;
}
.div2 {
background: red;
display: none;
}
.active {
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div div1 active">div1</div>
<div class="div div2">div2</div>
小提琴http://jsfiddle.net/vLLtLwxy/
发布于 2015-02-25 19:04:39
因为只有两个元素,所以您可以只使用.toggleClass()
。
更新的例子
$('.div').click(function(){
$(".div").toggleClass("active");
});
同样,值得指出的是,您还可以使用.not()
否定其中一个元素
这里的例子
$('.div').click(function(){
$(this).removeClass("active");
$('.div').not(this).addClass('active');
});
发布于 2015-02-25 19:05:19
只需在两个toggleClass
上使用div
,如下所示:
$(function () {
$('.div').click(function(){
$(".div").toggleClass("active");
});
});
请参阅下面的片段:
$(function () {
$('.div').click(function(){
$(".div").toggleClass("active");
});
});
.div1{
background: green;
display: none;
}
.div2{
background: red;
display: none;
}
.active{
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div class="div div1 active">I'm div1</div>
<div class="div div2">I'm div2</div>
希望这会有帮助!
发布于 2015-02-26 02:11:31
下面是突出显示单击的下一个(相邻)元素的另一种方法:
$('div').click(function() {
$('div:active').removeClass('active');
var next = $(this).next();
if (0 == next.length) {
next = $('div:first');
}
$(next).addClass('active');
});
在7个div之间的循环:http://jsfiddle.net/k0oq4hd5/1/
3 div:http://jsfiddle.net/k0oq4hd5/2/之间的循环
https://stackoverflow.com/questions/28727466
复制相似问题