【发布时间】:2017-03-19 17:53:51
【问题描述】:
我在排序表格时遇到问题。
我的表格 HTML 是这样的:
<table>
<tr>
<td>3</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>4</td>
</tr>
</table>
我希望它看起来像这样:
<table>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</table>
这是我当前的排序代码:
var rows = $('tr');
rows.eq(0).find('td').sort(function(a, b) {
return $.text([a]) > $.text([b]) ? 1 : -1;
}).each(function(newIndex) {
var originalIndex = $(this).index();
rows.each(function() {
var td = $(this).find('td');
if (originalIndex !== newIndex)
td.eq(originalIndex).insertAfter(td.eq(newIndex));
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<table>
<tr>
<td>3</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>4</td>
</tr>
</table>
代码仅按单独的行排序。我不能使用任何插件,我需要使用 jquery 或 javascript 来执行此操作。谁能建议如何使它工作?
【问题讨论】:
-
能否将所有记录加载到数组中,排序,然后重新构建html来制作表格?
标签: javascript jquery sorting html-table