並べ替え
2012年07月15日 (日) 02:35
メモ。

//数値だけ取り出す関数、一応数値型で戻る
function kazudake(str){
var num = "";
for(var i = 0; i < str.length-1; i++){
if( (str.substr(i,1).match(/\d/)) != null ){
num += str.substr(i,1);
}
}
return parseInt(num);
}

//document
var document= window.self.content.document;

//divタグを全部
var divE = document.getElementsByTagName("div");

//spanたぐ全部
var spanE = document.getElementsByTagName("span");

//適当に
var tmp;
var cnt = 0;

//divのいくつ目か?だと管理しやすそう?
var divhai = new Array();
//spanの代入
var spanCon = new Array();

//数字と一致
regexp = new RegExp("\d","igm");

//初期化 spanConに、順番に入れていく。
var cnt1 = 0;
for(var i = 0; i < spanE.length; i++){
if(spanE[i].getAttribute("class") == "fn_ud"){
spanCon[cnt1++] = kazudake(spanE[i].innerHTML);
}

}
//初期化2 divhaiにwaku_mfnが見つかったi位置を入れる
var cnt2 = 0;
for(var i = 0; i < divE.length; i++){
if(divE[i].getAttribute("class") == "waku_mfn"){
divhai[cnt2++] = i;
}

}

//最大のインデックス
var maxindex;

//変えた。とりあえずこれで。
//これ以上はすぐには思いつかないよ。
for(var i = 0; i < cnt2-1; i++){
maxindex = i;
for(var j = i+1; j < cnt2; j++){
if( spanCon[maxindex] < spanCon[j]){
maxindex = j;
}
}

tmp = spanCon[i];
spanCon[i] = spanCon[maxindex];
spanCon[maxindex] = tmp;

tmp = divE[divhai[i]].innerHTML;
divE[divhai[i]].innerHTML = divE[divhai[maxindex]].innerHTML;
divE[divhai[maxindex]].innerHTML = tmp;
}
//if(!confirm(""){break;}でfor文中断ができる
コメント
コメントの書き込みはログインが必要です。