在我的javascript應用程序中拖動div後...我想爲所有div指定一個數字類,按位置排序。我已經研究了很多,並且構建了下一個......但它不起作用。 (內蒙古HTML不改變)Javascript - 多維數組排序 - 字符串和Int - 訂購Int
var ele = document.getElementsByTagName("div");
var i = 0;
var MyDrags = [];
while(ele[i]) {
if(ele[i].id.substr(0, 4)=="drag") {
MyDrags["distance"]=parseInt(document.getElementById(ele[i].id).style.top,10);
MyDrags["id"]=ele[i].id;
}
i++;
}
MyDrags.sort(function(a,b) {
return a.distance - b.distance;
});
i = 0;
while(MyDrags["distance"][i]) {
document.getElementById(MyDrags["id"][i]).innerHTML=MyDrags["distance"][i];
i++;
}
我強烈建議如果你打算做DOM操作來使用Jquery或其他庫。如果你做了任何複雜的事情,它會變得毛茸茸的。 – VoronoiPotato 2012-07-31 12:38:55
使用'MyDrags = []'而不是'MyDrags = new Array()' - 它更清晰並且[更高性能](http://jsperf.com/literal-vs-constructor-array/4)。 – 2012-07-31 12:41:13
@ChrisFrancis謝謝你,我測試了兩次......並且'new Array()'總是最快的。但是,我將改變創建陣列的方式:) – Kenedy 2012-07-31 13:32:34