リストの項目を上下移動させる
たとえばul/liの箇条書きリストがあるとして、その項目をアウトライナーのように移動させる
考え方
移動させたい項目を、別の場所に移動させる
insertBefore() などが使える
A
B
C
D
X
A.insertBefore(X,C)とするとXをAの子要素として、Cの手間に追加する(BとCの間に入る)
DをCの位置にし、CをDの位置にするなら?
A.insertBefore(D,C)とすれば、DがCの手前(一つ上)に移動し、B、D,Cという並びになる
仮にD上でショートカットキーを入力した場合などは、AはDの親であるから
D.parentNode.insertBefore(D,C)などとしてもいい。
その際、最上位項目は親がないので場合分けを考えること
その他いくつか場合分けを考える必要がありそうrashita.icon