【发布时间】:2013-05-01 18:17:40
【问题描述】:
我正在尝试对表中的不同列进行排序。我让他们处理数字,但我不知道如何处理包含字母数据的列。
这是我的工作:http://jsfiddle.net/nx4Ex/1/
基于此:https://stackoverflow.com/a/7558600/2219915
我会在那里发表评论,但我的代表不够高。
这是我正在使用的脚本。我知道 parsefloat 处理数字,但我不确定如何将其更改为处理数字和/或字母。
function sortTable(){
var tbl = document.getElementById("caltbl").tBodies[0];
var store = [];
for(var i=0, len=tbl.rows.length; i<len; i++){
var row = tbl.rows[i];
var column1 = parseFloat(row.cells[0].textContent || row.cells[0].innerText);
if(!isNaN(column1)) store.push([column1, row]);
}
store.sort(function(x,y){
return x[0] - y[0];
});
for(var i=0, len=store.length; i<len; i++){
tbl.appendChild(store[i][1]);
}
store = null;
};
我还应该提到我正在尝试避免使用任何 javascript 库或插件。我只需要这个基本的排序功能。
【问题讨论】:
-
在此处阅读接受的答案:stackoverflow.com/questions/5285995/…
-
这似乎可以作为 javascript 工作。之前我说过:那个答案是面向jquery的,我不会为此使用jquery。
-
我在那个答案中根本看不到任何 jquery。它谈到使用
sort函数按字母顺序排序,这是您想要做的,对吧? -
是的,我刚刚意识到它正在工作。谢谢!现在我只需要让它与我的表格代码一起工作。
标签: javascript sorting alphabetical alphabetical-sort