首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按id对<td>进行排序?

按id对<td>进行排序?
EN

Stack Overflow用户
提问于 2013-12-24 11:35:13
回答 2查看 118关注 0票数 0

我正在尝试按it对表中的td标记进行排序。我有下面的代码

代码语言:javascript
复制
<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>

我要排序,以便输出是

代码语言:javascript
复制
<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>

我在这里错过了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-24 11:47:11

在普通的JavaScript中,您可以使用:

代码语言: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:

代码语言:javascript
复制
$('table th').get().sort(function(a, b) {
    return a.id.replace('dv_', '') - b.id.replace('dv_', '');
}).forEach(function(e) {
    e.parentNode.appendChild(e);
});

演示: http://jsfiddle.net/b4Ngj/

票数 0
EN

Stack Overflow用户

发布于 2013-12-24 11:42:42

你可以使用TinySort插件。我用它按身份证分类..。我的语法就像

代码语言:javascript
复制
$('table > tr').tsort('th',{order:'desc',attr:'id'});

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20760187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档