
No.2ベストアンサー
- 回答日時:
いまいちきたないソースですがざっくりこんな感じで?
<style>
//スタイルシートはcssで適当に・・・
table{border-collapse: collapse;}
tr:nth-child(2n) td,tr th{background-Color:yellow;}
th,td{border:1px solid #000000;}
</style>
<script>
try{
document.addEventListener("click",function(e){func(e)},true);
}catch(e){
document.attachEvent("onclick",function(e){func(e)});
}
function func(e){
var obj= (e.srcElement || e.target);
if(obj.nodeName!="INPUT") return false;
var n=obj.name;
if(n!="u" && n!="d") return false;
var p=obj;
var r1=null; //自分の行
var r2=null; //交換する行
while(p){
if(p.nodeName=="TR"){
r1=p;
r2=p;
while(r2){
r2=(n=="u")?r2.previousSibling:r2.nextSibling;
if(r2 == null) break;
if(r2.nodeName=="TR") break;
}
break;
}
p=p.parentNode;
}
if(r2 == null) return false;
p=r1.parentNode;
var r1c=r1.cloneNode(true);
var r2c=r2.cloneNode(true);
p.replaceChild(r1c,r2);
p.replaceChild(r2c,r1);
}
</script>
<form>
<table>
<thead>
<tr>
<th>a</th>
<th>b</th>
<th>c</th>
<th>d</th>
</tr>
</thead>
<tbody>
<tr id="x">
<td>1</td>
<td>2</td>
<td>3</td>
<td><input type="button" value="↑" name="u"><input type="button" value="↓" name="d"></td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
<td><input type="button" value="↑" name="u"><input type="button" value="↓" name="d"></td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
<td><input type="button" value="↑" name="u"><input type="button" value="↓" name="d"></td>
</tr>
<tr>
<td>10</td>
<td>11</td>
<td>12</td>
<td><input type="button" value="↑" name="u"><input type="button" value="↓" name="d"></td>
</tr>
</tbody>
</table>
</form>
No.3
- 回答日時:
ぜんかくくうはくは、すべてはんかくにしてください。
いろいろとめんどうなので、てきとうにかきました。
てーぶるのせるをくりっくしたとき、ひだりよりなら、うえといれかえ。
みぎよりならしたといれかえてます。
みやすさゆうせんで、いんでんとしてるのに、こーどはきたない?
<!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>
ちゃんと書き換えきれていないのかまだ動かせていないのですが;
こちらも異なるロジックなので勉強させてもらいます。
ご回答ありがとうございました。
No.1
- 回答日時:
ライブラリがあるのではないかと探してみましたが、行の入替えはソートするものが多いですね。
ご希望のインターフェースとは違いますがご参考まで。(どちらもドラッグ&ドロップです)
◇行の入替え
http://www.isocra.com/2008/02/table-drag-and-dro …
◇列の入替え
http://www.danvk.org/wp/dragtable/
* データをどのように保持しているのかは確認していません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- iPhone(アイフォーン) 「ライブラリ」ってどこの事ですか? ※ 英語の勉強のために Amazon で買物をしたいのですが、「 2 2023/07/14 22:04
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- 写真・ビデオ iPhoneのプライバシーとセキュリティの写真の項目について 2 2023/06/24 23:11
- iPhone(アイフォーン) iPhoneのプライバシーとセキュリティの写真の項目について 1 2023/06/24 20:25
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- ドライブ・ストレージ 古い外付けHDDから新品外付けHDDへのデータ移行方法 (Mac) 2 2022/12/11 02:01
- iPhone(アイフォーン) 仕事でPDFファイルをダウンロード、閲覧するのにiBooksを使っていますが、ライブラリに凄い数のフ 2 2022/11/16 07:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQuery.eachの使い方について教...
-
テーブル行のクリックでチェッ...
-
JavaScriptから自ページリンク...
-
CSSのテーブルで色分けをする場合
-
マウスをブラウザの外に出した...
-
エラーで悩んでます。。
-
td:nth-childを使ってa要素を取...
-
【UWSC】HTML内のある部分を抽...
-
添付画像のようなhtmlとcssのス...
-
HTMLのフォーム名とJavaScript...
-
追加ボタンを押した際に ok ボ...
-
onclickをEnterキーでも行いたい
-
プルダウンメニューの項目で1つ...
-
同じページでgetElementsを複...
-
イメージマップで画像変え
-
数値の比較で正しく評価されな...
-
CGI.pmでラジオボタンを思い通...
-
return trueとreturn falseの用...
-
Locationについて
-
イベント発生時に入力待ち状態...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定<table>内の<td>の色を変える
-
ハイパーリンクを別ウインドウ...
-
プルダウンで選択すると、DBの...
-
JavaScriptで特定のtdタグにcla...
-
至急!GetElementById でtdの...
-
一覧から選択した行の行番号を...
-
クリックされた罫表セルの行番...
-
tableの任意行にfocusをあてる
-
javascript クリックすると、あ...
-
チェックボックスにチェックが...
-
マウスをブラウザの外に出した...
-
ブルダウン選択でページの表示...
-
Excelで作ったhtmlファイルのサ...
-
スクロールバーの表示位置を変...
-
動的なtableの値を取得したい
-
ツールチップにテーブル左端列...
-
【UWSC】HTML内のある部分を抽...
-
別ページからOnclickでテーブル...
-
【JQuery】テーブルで行選択さ...
-
JSで、テーブルのある行のみ、...
おすすめ情報