简体   繁体   English

jQuery-单击链接并隐藏其他链接时显示当前div

[英]Jquery - Show current div when click a link and hide others

When I click on Show/hide link it shows both divs and I want it to show only its related div. 当我单击“显示/隐藏”链接时,它同时显示了两个div,并且我希望它仅显示其相关的div。 How can I do that? 我怎样才能做到这一点? I don't want to use ID's for each div. 我不想为每个div使用ID。

jsfiddle jsfiddle

<div class="main-box">
    <a href="#" class="show_hide">Show/hide</a>

    <div class="slidingDiv">
    First div.
    </div>
</div>

<br/>

<div class="main-box">
    <a href="#" class="show_hide">Show/hide</a>

    <div class="slidingDiv">
    Second div.
    </div>
</div>

and

$(document).ready(function(){
    $(".slidingDiv").hide();
    $(".show_hide").show();

    $('.show_hide').click(function(){
    $(".slidingDiv").slideToggle();
    });
});

Into the click function, change your code to this: 在点击功能中,将代码更改为此:

$(".slidingDiv").slideUp();    
$(this).next().slideToggle();

https://jsfiddle.net/pzc8vy9b/6/ https://jsfiddle.net/pzc8vy9b/6/

Use next() by changing 通过更改使用next()

$(".slidingDiv").slideToggle();

to

$(this).next(".slidingDiv").slideToggle();

 $(document).ready(function(){ $(".slidingDiv").hide(); $(".show_hide").show(); $('.show_hide').click(function(){ $(this).next(".slidingDiv").slideToggle(); }); }); 
 .slidingDiv { height:300px; background-color: #99CCFF; padding:20px; margin-top:10px; border-bottom:5px solid #3399FF; } .show_hide { display:none; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <div class="main-box"> <a href="#" class="show_hide">Show/hide</a> <div class="slidingDiv"> First div. </div> </div> <br/> <div class="main-box"> <a href="#" class="show_hide">Show/hide</a> <div class="slidingDiv"> Second div. </div> </div> 

Simply use next() . 只需使用next()即可

https://jsfiddle.net/pzc8vy9b/4/ https://jsfiddle.net/pzc8vy9b/4/

<div class="main-box">
    <a href="#" class="show_hide">Show/hide</a>

    <div class="slidingDiv">
    First div.
    </div>
</div>

<br/>

<div class="main-box">
    <a href="#" class="show_hide">Show/hide</a>

    <div class="slidingDiv">
    Second div.
    </div>
</div>

$(document).ready(function(){
    $('.show_hide').click(function(){
        $(this).next().slideToggle();
    });
});

.slidingDiv {
    height:300px;
    background-color: #99CCFF;
    padding:20px;
    margin-top:10px;
    border-bottom:5px solid #3399FF;
    display: none;
}

Try this 尝试这个

$(document).ready(function(){

    $(".slidingDiv").hide();
    $(".show_hide").show();

    $('.show_hide').click(function(){
    $(this).next(".slidingDiv").slideToggle();
    });

});

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

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