首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >单击时,使用jQuery将类添加到备用div中。

单击时,使用jQuery将类添加到备用div中。
EN

Stack Overflow用户
提问于 2015-02-25 19:02:40
回答 4查看 2K关注 0票数 1

我有两个div,div1div2。在单击任何这些div时,我希望从其中删除类.active,并将该类添加到另一个div中。

我正在尝试下面的代码,但我不知道如何将类添加到另一个未单击的div中。谢谢。

代码语言:javascript
运行
复制
$('.div').click(function() {
  $(".div").removeClass("active");
});
代码语言:javascript
运行
复制
.div1 {
  background: green;
  display: none;
}
.div2 {
  background: red;
  display: none;
}
.active {
  display: block;
}
代码语言:javascript
运行
复制
<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/

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-02-25 19:04:39

因为只有两个元素,所以您可以只使用.toggleClass()

更新的例子

代码语言:javascript
运行
复制
$('.div').click(function(){
    $(".div").toggleClass("active");                     
});

同样,值得指出的是,您还可以使用.not()否定其中一个元素

这里的例子

代码语言:javascript
运行
复制
$('.div').click(function(){
    $(this).removeClass("active");
    $('.div').not(this).addClass('active');
});
票数 4
EN

Stack Overflow用户

发布于 2015-02-25 19:05:19

只需在两个toggleClass上使用div,如下所示:

代码语言:javascript
运行
复制
$(function () {    
     $('.div').click(function(){
        $(".div").toggleClass("active");
    });
});

请参阅下面的片段:

代码语言:javascript
运行
复制
$(function () {    
     $('.div').click(function(){
        $(".div").toggleClass("active");
    });
});
代码语言:javascript
运行
复制
.div1{
    background: green;
    display: none;
}

.div2{
    background: red;
    display: none; 
}

.active{
    display: block;
}
代码语言:javascript
运行
复制
<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>

希望这会有帮助!

票数 1
EN

Stack Overflow用户

发布于 2015-02-26 02:11:31

下面是突出显示单击的下一个(相邻)元素的另一种方法:

代码语言:javascript
运行
复制
$('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/之间的循环

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28727466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档