修正しようとしているコードは次のとおりです: http://jsfiddle.net/fabKu/。
2 番目の div を非表示にする (ボタンを使用する) まで、すべてが正常に機能します。コードは他のすべての主要なブラウザーで動作しますが、IE だけが問題を引き起こします。
どうしてこうなったのかわからないので、ちょっとしたアドバイスをお願いします。
編集:
ここに問題の詳細な説明があります。インデックスがすべてです。
環境:
ブラウザ:IE9.0
再現する手順:
- 2 番目の div を非表示にします。(最初のボタンをクリックします)
- 15 番目のアイテム (たとえば ) を位置 7 (たとえば ) に移動してみてください。
現在の動作:
15 番目のアイテムのインデックスは "02" に変更され (ドラッグ中)、新しい位置に配置すると順序が混乱します。
予想される行動
ページをリロードして同じことを行いますが、2 番目の div は非表示にしないでください。
回避策
考えられる回避策の 1 つは、最初の div と 2 番目の div の間に新しい div を配置することです。「ol」ノードを含む div の後のノードで「display」が「none」に設定されている場合、IE の再インデックス作成に問題があるようです。(ノードがdivか何か他のものかどうかは問題ではないようです)