我有这段代码:
<table>
<tr id="a"><td>A</td></tr>
<tr id="d"><td>D</td></tr>
<tr id="e"><td>E</td></tr>
<tr id="b"><td>B</td></tr>
<tr id="c"><td>C</td></tr>
</table>
如何使用jQuery将行按顺序排列?
更新:我需要使用移动功能而不是排序功能,因为真实的ID不是字母。对困惑感到抱歉。我想做这样的事情:
$("#a").after(rows_b_and_c)
但我不知道如何获取行。
答案 0 :(得分:2)
如果您没有附加到<td>
的事件且内容只是文本,则会执行以下操作:
var tds = $('table tr').sort(function(a,b){
return $('td:eq(0)',a).text() > $('td:eq(0)',b).text();
});
$('table').html(tds);
这取决于......你会如何订购?请更具体。
会给你一个提示,你可能想看看:
.after() 在匹配元素集中的每个元素之后插入由参数指定的内容。
.before() 在匹配元素集中的每个元素之前插入由参数指定的内容。
.insertAfter() 在目标之后插入匹配元素集中的每个元素。
.insertBefore() 在目标之前插入匹配元素集中的每个元素。
你说你知道那些功能然后你没有解决问题。
无论如何,这里有一些方法:http://jsfiddle.net/reigel/7Pb6a/1/
答案 1 :(得分:1)
清洁剂:
var sortID = function(a,b){
return a.id > b.id ? 1 : -1;
};
$('table tr').sort(sortID).appendTo('table');