dポイントプレゼントキャンペーン実施中!

jQueryでテーブルの行を移動させたいのですが、なかなかうまくいきません。

<table id = "table_test">
<tbody id = "test1">
<tr>
<th>見出し1</th>
<th>見出し2</th>
<th><input type="button" id="button1" value="テスト1"></th>
</tr>
<tr>
<td>項目1</td>
<td>項目2</td>
<td>項目3</td>
</tr>
</tbody>
<tbody id = "test2">
<tr>
<th>見出し1</th>
<th>見出し2</th>
<th><input type="button" id="button2" value="テスト2"></th>
</tr>
<tr>
<td>項目1</td>
<td>項目2</td>
<td>項目3</td>
</tr>
</tbody>
<tbody id = "test3">
<tr>
<th>見出し1</th>
<th>見出し2</th>
<th><input type="button" id="button3" value="テスト3"></th>
</tr>
<tr>
<td>項目1</td>
<td>項目2</td>
<td>項目3</td>
</tr>
</tbody>
</table>

処理としては、button1を押下したら、<tbody id = "test1">~</tbody>の内容を<tbody id = "test2">と<tbody id = "test3">の間にくるように移動させたいです。

trの内容を次のtrの次に移動させることは調べてわかったのですが、tbodyで囲まれている部分をごっそり抜き出して、次のtbodyの後に移動させる方法がわかりません。

tbody内にはtrが複数あるため、移動させるというよりは、追加させてから削除するといった感じになるのでしょうか?

どなたかご教授お願い致します。

A 回答 (2件)

>画面の仕様上どうしてもjQueryでやらなければならないのです


#1様の回答でよければ、そのままjQueryでも使えるはずですが・・・?
    • good
    • 1
この回答へのお礼

お礼が遅くなりすみません。
参考にしてうまくできました!
ありがとうございます!

お礼日時:2012/08/02 12:49

こんばんは。



どれだけ jQuery が、万能なのかは知りませんが、是が非でもそれを使わなければ駄目ですか?
全角空白は、半角に置き換えて。

<!DOCTYPE html>
<title>行を入れ替える</title>
<body>
<table id = "table_test">
<tbody id = "test1">
<tr>
<th>見出し1</th>
<th>見出し2</th>
<th><input type="button" id="button1" value="テスト1" onclick="a(0,2)"></th>
</tr>
<tr>
<td>項目1</td>
<td>項目2</td>
<td>項目3</td>
</tr>
</tbody>
<tbody id = "test2">
<tr>
<th>見出し1</th>
<th>見出し2</th>
<th><input type="button" id="button2" value="テスト2" onclick="a(1,100)"></th>
</tr>
<tr>
<td>項目1</td>
<td>項目2</td>
<td>項目3</td>
</tr>
</tbody>
<tbody id = "test3">
<tr>
<th>見出し1</th>
<th>見出し2</th>
<th><input type="button" id="button3" value="テスト3"></th>
</tr>
<tr>
<td>項目1</td>
<td>項目2</td>
<td>項目3</td>
</tr>
</tbody>
</table>
<script>

function a (b, c) { // b を c の前に
 var d = document.getElementById ('table_test');
 var e = d.tBodies;
 var f = e[c];
 
 f ? d.insertBefore (e[b], f): d.appendChild (e[b]);
};

</script>
    • good
    • 0
この回答へのお礼

babu_babooさん

ご回答ありがとうございます。
画面の仕様上どうしてもjQueryでやらなければならないのです。。。

お礼日時:2012/07/24 09:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!