- JavaScript
-
2025-05-04
リストやテーブルの行をドラッグ&ドロップで並べ替えられるようにするにはjQuery UIやSortableJSを使えば実現できます。
しかし、他のライブラリと相性が悪く他の方法を探していたらHTMLとJavaScriptだけで実現する方法がありましたのでご紹介します。
まずはHTMLで適当なテーブルを用意します。
<table id="data_table">
<tr>
<th>columnA</th>
<th>columnB</th>
<th>columnC</th>
</tr>
<tr id="1" draggable="true">
<td>row1 value1</td>
<td>row1 value2</td>
<td>row1 value3</td>
</tr>
<tr id="2" draggable="true">
<td>row2 value1</td>
<td>row2 value2</td>
<td>row2 value3</td>
</tr>
<tr id="3" draggable="true">
<td>row3 value1</td>
<td>row3 value2</td>
<td>row3 value3</td>
</tr>
<tr id="4" draggable="true">
<td>row4 value1</td>
<td>row4 value2</td>
<td>row4 value3</td>
</tr>
</table>
ここでのポイントはtr要素に設定したidとdraggable="true"です。
draggable="true"は要素をドラッグ可能にします。
idは要素を一意なものとして認識するために必要なIDです。
tableに設定したidは対象を特定するために必要なものですので、任意でクラス等にしても問題ありません。





