我的桌面有一个小问题,用DIV编码。如果我点击一行,它会打开每一行,但我只想打开我点击的那一行,逻辑上。这是我的例子:
http://jsfiddle.net/autodidact/QPP5S/11/
问题代码
<div class="table">
<div class="table_headline">
<div class="cell_1">When?</div>
<div class="cell_2">What?</div>
<div class="cell_3">Who?</div>
<div class="cell_4">Where?</div><br>
</div>
<div class="row">
<div class="cell_1">Date</div>
<div class="cell_2">Concert</div>
<div class="cell_3">Artist #1 + Artist #2 + Artist #3</div>
<div class="cell_4">Venue</div><br>
</div>
<div class="info">Infos</div>
<div class="row">
<div class="cell_1">Date</div>
<div class="cell_2">Concert</div>
<div class="cell_3">Artist #1 + Artist #2 + Artist #3</div>
<div class="cell_4">Venue</div><br>
</div>
<div class="info">Infos</div>
<div class="row">
<div class="cell_1">Date</div>
<div class="cell_2">Concert</div>
<div class="cell_3">Artist #1 + Artist #2 + Artist #3</div>
<div class="cell_4">Venue</div><br>
</div>
<div class="info">Infos</div>
</div>
<script>$(document).ready(function() {
$('.row').on('click', function() {
$(this).closest('.table').find('.info').slideToggle();
})
})
</script>
编辑:我正在使用PHP来获取所有活动。所以小提琴代码只是一个例子。
编辑#2:添加了问题代码
答案 0 :(得分:2)
您只需将.closest('.table').find('.info')
替换为.next('.info')
。
您选择的是.info
类的所有元素,而不仅仅是下一个元素。
查看.next()
的jQuery文档答案 1 :(得分:2)
改变这个:
$(this).closest('.table').find('.info').slideToggle();
为此:
$(this).next().slideToggle();
答案 2 :(得分:1)
请尝试将其作为jquery选择器:
$('.row').on('click', function() {
$(this).next('.info').slideToggle();
})