1

修正しようとしているコードは次のとおりです: http://jsfiddle.net/fabKu/

2 番目の div を非表示にする (ボタンを使用する) まで、すべてが正常に機能します。コードは他のすべての主要なブラウザーで動作しますが、IE だけが問題を引き起こします。

どうしてこうなったのかわからないので、ちょっとしたアドバイスをお願いします。

編集:

ここに問題の詳細な説明があります。インデックスがすべてです。

環境:

ブラウザ:IE9.0

再現する手順:

  1. 2 番目の div を非表示にします。(最初のボタンをクリックします)
  2. 15 番目のアイテム (たとえば ) を位置 7 (たとえば ) に移動してみてください。

現在の動作:

15 番目のアイテムのインデックスは "02" に変更され (ドラッグ中)、新しい位置に配置すると順序が混乱します。

予想される行動

ページをリロードして同じことを行いますが、2 番目の div は非表示にしないでください。

回避策

考えられる回避策の 1 つは、最初の div と 2 番目の div の間に新しい div を配置することです。「ol」ノードを含む div の後のノードで「display」が「none」に設定されている場合、IE の再インデックス作成に問題があるようです。(ノードがdivか何か他のものかどうかは問題ではないようです)

4

1 に答える 1

1

このフィドルを使用して、IE7 で次の動作を確認しました。

http://jsfiddle.net/Agwp2/1/

これを試して:

                $('form input:eq(0)').click( function()
                {
                    $('#divToHide').hide();
                });

                $('form input:eq(1)').click( function()
                {
                    $('#divToHide').show();
                });

それが IE で機能する場合、問題は互換性のない CSS にあります。

于 2012-08-06T12:28:26.220 に答える