- 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
は対象を特定するために必要なものですので、任意でクラス等にしても問題ありません。
