JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<table>
<thead>
<tr>
<th> </th>
<th>Main Column 1</th>
<th>Main Column 2</th>
<th>Main Column 3</th>
<th>Main Column 4</th>
</tr>
</thead>
<tbody>
<tr class="parent">
<td><a href="#" class="toggle">[+]</a>
</td>
<td>Parent Col 1</td>
<td>Parent Col 2</td>
<td>Parent Col 3</td>
<td>Parent Col 4</td>
</tr>
<tr class="child">
<td> </td>
<td> </td>
<td colspan="4">
<table>
<thead>
<tr>
<th>Child Col 1</th>
<th>Child Col 2</th>
<th>Child Col 3</th>
<th>Child Col 4</th>
</tr>
</thead>
<tbody>
<tr>
<td>Data</td>
<td>Data</td>
<td>Data</td>
<td>Data</td>
</tr>
<tr>
<td>Data</td>
<td>Data</td>
<td>Data</td>
<td>Data</td>
</tr>
<tr>
<td>Data</td>
<td>Data</td>
<td>Data</td>
<td>Data</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="parent">
<td><a href="#" class="toggle">[+]</a>
</td>
<td>Parent2 Col 1</td>
<td>Parent2 Col 2</td>
...
JavaScript
$(document).ready(function () {
$('tr.parent').next('tr.child').hide();
$('a.toggle').on('click', function (e) {
e.preventDefault();
var $this = $(this),
$child = $this.closest('tr.parent').next('tr.child');
$this.closest('tr.parent').siblings('tr.child').not($child).hide();
$child.toggle();
})
});