[英]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。
<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.