в первую очередь, спасибо за то, что нашли время, чтобы прочитать это, я постараюсь изо всех сил объяснить, что я пытаюсь достичь с помощью jquery, в настоящее время я зацикливаюсь на перемещении наборов TRs на новую позицию. Я могу просто переместить заголовки.
вот то, что выглядит моя сгенерированная таблица:
<table border="1">
<thead class='thx'> ..tr th here
</thead>
<tbody>
<tr>
<td class="gheader" colspan="2">header1</td>
</tr>
<tr>
<td class="glabel"><label id="label1">label1</label></td>
<td class="ginput"><input class="checkbox" id="inputcheckbox1" type="text" value=""></td>
</tr>
<tr>
<td class="gheader" colspan="2">header2</td>
</tr>
<tr>
<td class="glabel"><label id="label2">label2</label></td>
<td class="ginput"><input class="checkbox" id="inputcheckbox2" type="text" value=""></td>
</tr>
</tbody>
</table>
next: Я хочу, чтобы новый перемещал TD рядом с первым (td.class> gheader).. да, это возможно/сделано. так что теперь мой стол выглядит так:
<table>
<thead class='thx'> ..tr th here
</thead>
<tbody>
<tr>
<td class="gheader">header1</td>
<td class="gheader">header2</td>
..and so on
</tr>
<tr>
теперь вот где моя проблема:
при перемещении сгенерированного td с классом gheader (header1, header2, header3) в одну строку, как я могу перемещать следующее:
<tr>
<td>label(id)</td>
<td>checkbox(id)</td>
<tr>
между каждым заголовком, который был вновь перемещен
возможный выход таблицы выглядел бы так:
<table border="1">
<thead class='thx'>
<tr>
<td class="gheader" colspan="2">h</td>
<td class="gheader" colspan="2">i</td>
</tr>
</thead>
<tbody>
<tr>
<td class="gheader" colspan="2">header1</td>
<td class="gheader" colspan="2">header2</td>
</tr>
<tr>
<td class="glabel"><label id="label1">label1</label></td>
<td class="ginput"><input class="checkbox" id="inputcheckbox1" type="text" value=""> </td>
<td class="glabel"><label id="label2">label2</label></td>
<td class="ginput"><input class="checkbox" id="inputcheckbox2" type="text" value=""></td>
</tr>
</table>
другие примечания:
colspan 2 (on gheader) автоматически генерируется
Пытаться
var $tbody = $('table tbody');
$tbody.find('.gheader').appendTo($tbody.find('tr:first-child'));
$tbody.find('tr').slice(1).find('td').appendTo($tbody.find('tr:nth-child(2)'));
$tbody.find('tr').slice(2).remove()
Демо: скрипка