特定の CSS クラスで子行を表示/非表示にする親行をクリックするテーブルがあります。問題は、親行をクリックすると .toggle() がトリガーされ、親行内にあるクラス btn でスパンをクリックすることによってのみトリガーされたいということです。
これは HTML です:
<table cellpadding="5" cellspacing="3" border="1">
<tbody>
<tr class="parent" id="2479">
<td><span class="btn">text</span></td>
<td>text</td>
<td>text</td>
<td>text</td>
<td>text</td>
<td>text</td>
</tr>
<tr class="child-2479">
<td>text</td>
<td>text</td>
<td>text</td>
<td>text</td>
<td>text</td>
<td>text</td>
</tr>
<tr>
<td>text</td>
<td>text</td>
<td>text</td>
<td>text</td>
<td>text</td>
<td>text</td>
</tr>
</tbody>
</table>
このjQuery:
$(function() {
$('tr.parent')
.click(function(){
$(this).siblings('.child-'+this.id).toggle('slow');
});
$('tr[class^=child-]').hide().children('td');
});