按ID排序?

时间:2013-12-24 11:35:14

标签: javascript html sorting html-table

我试图通过它来对表中的 td 标记进行排序。 我有以下代码

<table>
<tr>
    <th id="dv_8">COMPANY NAME</th>
    <th id="dv_6">CONTACT 1</th>
    <th id="dv_1">CONTACT 2</th>
    <th id="dv_3">CONTACT 3</th>
    <th id="dv_2">FAX</th>
    <th id="dv_9">WILAYAT</th>
    <th id="dv_5">CUSTOMER SEGMENT</th>
    <th id="dv_10">FLCODE</th>
    <th id="dv_7">Date Added</th>
    <th id="dv_4">QNR Status</th>
</tr>

我想要排序,以便输出

<table>
<tr>
    <th id="dv_1">CONTACT 2</th>
    <th id="dv_2">FAX</th>
    <th id="dv_3">CONTACT 3</th>
    <th id="dv_4">QNR Status</th>
    <th id="dv_5">CUSTOMER SEGMENT</th>
    <th id="dv_6">CONTACT 1</th>
    <th id="dv_7">Date Added</th>
    <th id="dv_8">COMPANY NAME</th>
    <th id="dv_9">WILAYAT</th>
    <th id="dv_10">FLCODE</th>
</tr>

我在这里缺少什么?

2 个答案:

答案 0 :(得分:0)

你可以使用TinySort插件..我用Id进行排序..我的语法就像

$('table > tr').tsort('th',{order:'desc',attr:'id'});

插件链接:http://tinysort.sjeiti.com/

答案 1 :(得分:0)

在纯JavaScript中,您可以使用:

Array.prototype.slice.call(document.getElementsByTagName('th')).sort(function(a, b) {
    return a.id.replace('dv_', '') - b.id.replace('dv_', '');
}).forEach(function(e) {
    e.parentNode.appendChild(e);
});

或者如果你使用jQuery:

$('table th').get().sort(function(a, b) {
    return a.id.replace('dv_', '') - b.id.replace('dv_', '');
}).forEach(function(e) {
    e.parentNode.appendChild(e);
});

DEMO: http://jsfiddle.net/b4Ngj/