简体   繁体   English

如果我在jQuery中单击其他切换类或元素,将如何关闭活动切换类?

[英]How will close active toggle class if i click on other toggle class or elements in jquery?

When I click on any .show I want to close all .list and open just the one I clicked. 当我单击任何.show时,我想关闭所有.list并仅打开我单击的那个。

I've tried this, but it's not working as expected. 我已经尝试过了,但是没有按预期工作。

  $('.show').click(function(){ $('.list1').toggleClass("displaylist"); }); $('.show2').click(function(){ $('.list2').toggleClass("displaylist"); }); $('.show3').click(function(){ $('.list3').toggleClass("displaylist"); }); 
  .list1, list2,list3{display:none;} .displaylist{display:block;} 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <li class="show"></li> <div class="list1"> <select> <option></option> </select> </div> <li class="show2">list2</li> <div class="list2"> <select> <option></option> </select> </div> <li class="show3"></li> 

If I understand your question, the simplest way will be to add a class to each li and div that is the same and use jquery's next() function 如果我理解您的问题,最简单的方法是向每个li和div添加一个相同的类,并使用jquery的next()函数

 $('.show').click(function(){ $('.list').hide(); $(this).next().show(); }); 
 .list { display:none; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <li class="show">List 1</li> <div class="list"> <select> <option></option> </select> </div> <li class="show">List 2</li> <div class="list"> <select> <option></option> </select> </div> <li class="show">List 3</li> <div class="list"> <select> <option></option> </select> </div> 

Your question is a bit unclear, but after playing with the code you provided, I think I've figured out what you want. 您的问题尚不清楚,但是在使用您提供的代码后,我想我已经确定了您想要的东西。

Is this correct? 这个对吗? https://jsfiddle.net/u5cqLwk3/ https://jsfiddle.net/u5cqLwk3/

HTML 的HTML

<li class="show show1">list1</li>
<div class="list list1">
    <select>
        <option></option>
    </select>
</div>
<li class="show show2">list2</li>
<div class="list list2">
    <select>
        <option></option>
    </select>
</div>
<li class="show show3">list3</li>
<div class="list list3">
    <select>
        <option></option>
    </select>
</div>

CSS 的CSS

.list {display: none}
.displaylist{display:block;}

JS JS

$('.show').click(function(){
    $('.list').removeClass("displaylist");
});
$('.show1').click(function(){
    $('.list1').addClass("displaylist");
});
$('.show2').click(function(){
    $('.list2').addClass("displaylist");
});
$('.show3').click(function(){
    $('.list3').addClass("displaylist");
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM