2012-09-12 24 views
0

我的桌子上有一個小問題,用DIV編碼。如果我點擊一行,它會打開每一行,但我只想打開我點擊的那個,邏輯上。這是我的例子:jQuery/PHP的:如何使slideToggle打開只有一行而不是所有?

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:問題補充碼

+1

請張貼問題代碼在您的文章以及鏈接到jsfiddle(http://meta.stackexchange.com/questions/84342/answer-that-only-contains-a-link-to-jsfiddle) – Lowkase

+0

感謝您的信息。完成! –

回答

2

你可以簡單地用.next('.info')取代.closest('.table').find('.info')

演示:http://jsfiddle.net/8QqCh/

你是選擇一類的.info而不只是一個元素的所有元素。

檢查jQuery的文檔.next()

2

改變這一點:

$(this).closest('.table').find('.info').slideToggle(); 

此:

$(this).next().slideToggle(); 
1

嘗試以此爲jQuery選擇,而不是:

$('.row').on('click', function() {   
    $(this).next('.info').slideToggle(); 
}) 
相關問題