我有一个3列HTML表,所有TD都有一个类:
如何将TD与类" Col1"和TD类" Col2"交换?
这是一个示例表(请注意,有一些Colspans):
<table width="650" border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td colspan="3">header</td>
<td class="col2">header col2</td>
<td class="col3">header col3</td>
<td class="col1">header col1</td>
</tr>
<tr>
<td colspan="2">row header 1</td>
<td> </td>
<td class="col2">any text </td>
<td class="col3">any text </td>
<td class="col1">any text</td>
</tr>
<tr>
<td>row header 2</td>
<td> </td>
<td> </td>
<td class="col2">any text </td>
<td class="col3">any text </td>
<td class="col1">any text</td>
</tr>
</tbody>
我要做的就是将td.col1与td.col2交换并显示表。
要实现所需的目标,您可以选择所有.col1
元素,然后使用insertBefore()
在同胞.col2
之前移动它们,例如:
$('.col1').each(function() {
$(this).insertBefore($(this).prev('.col2'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table width="650" border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td colspan="3">header</td>
<td class="col2">header col2</td>
<td class="col1">header col1</td>
</tr>
<tr>
<td colspan="2">row header 1</td>
<td> </td>
<td class="col2">any text col2</td>
<td class="col1">any text col1</td>
</tr>
<tr>
<td>row header 2</td>
<td> </td>
<td> </td>
<td class="col2">any text col2</td>
<td class="col1">any text col1</td>
</tr>
</tbody>
</table>
您可以根据需要使用JavaScript进行类别的类别和 sort 数组。