因此,当我运行以下代码时,我点击一个div,然后另一个div滑出。
<div class="section" id="1">Hi</div>
<div class="under" id="1">Hola</div>
<div class="section" id="2">Foo bar</div>
<div class="under" id="2">Derp</div>
</td></table>
</td></table>
<script>
$(".section").click(function(){
var id = this.id;
$(".under").slideToggle("slow");
});
但是,当我点击带有“section”类的div时,它会显示所有具有“under”类的div。我想要做的是显示div“under”,其id等于所选div的id(即当点击id =“1”的“section”时显示“under”,id =“1”) 。我该怎么做?
答案 0 :(得分:4)
使用
.next('div');
所以整个代码都是
<style>
.under{
display:none;
padding:5px;
background-color:gray;
}
</style>
<div class="section" id="1">Hi</div>
<div class="under" id="1">Hola</div>
<div class="section" id="2">Foo bar</div>
<div class="under" id="2">Derp</div>
<script>
$(".section").click(function(){
$(this).next('div').slideToggle("slow");
});
</script>
答案 1 :(得分:0)
你可以使用.next,或者根据你设置的方式,.nextAll。以下是我对类似问题所做的简短演示:
答案 2 :(得分:0)
好的,你的HTML有些问题;我将逐一介绍它们。
<table>
或<td>
标记。这将导致HTML无效。<tr>
标记,其中包含td
标记。目前在结构上是不正确的。我已在http://jsfiddle.net/FS3rt/重写了您的代码。它还会收缩任何可见的部分,以便仅向用户显示他们希望看到的信息。