JavaScriptでテーブルの行入れ替え
腰が痛い。夕飯(朝食か?)後のいっぷくに書いた。でも腹減った〜!
http://oshiete.goo.ne.jp/qa/6859130.html
<!DOCTYPE html> <title></title> <style type="text/css"> table, th, td { border :1px #00f solid; } td, th { width :10em; } </style> <table> <tr> <th>1 <td>abc <td>def <tr> <th>2 <td>ghi <td>jkl <tr> <th>3 <td>mno <td>pqr </table> <script type="text/javascript"> //@cc_on function get1 (e) { /*@if(1) var d = e.srcElement.ownerDocument; var c = ('CSS1Compat' === d.compatMode) ? d.documentElement : d.body; return e.clientX + c.scrollLeft; @else@*/ return e.clientX + e.target.ownerDocument.defaultView.pageXOffset; /*@end@*/; } function get2 (e) { var x = 0; do x += e.offsetLeft; while (e = e.offsetParent); return x; } document./*@if (1) attachEvent( 'on'+ @else@*/ addEventListener( /*@end@*/ 'click', function (event) { var e = event.target || event.srcElement; if (/^(?:TD|TH)$/.test (e.tagName)) { var x = get1 (event) - get2 (e); var tr = e.parentNode; var tb = tr.parentNode; var a = tr.rowIndex; var b = a; if ((x < e.offsetWidth / 2)) a -= 1; else b += 1; if (a < 0 || tb.rows.length <= b) return; tb.insertBefore (tb.rows[b], tb.rows[a]); } }, false); </script>