隐藏兄弟div节点后,可排序的jquery列表在IE 9.0中不起作用

时间:2012-08-06 12:22:27

标签: jquery internet-explorer jquery-ui-sortable

以下是我要修复的代码:http://jsfiddle.net/fabKu/

一切正常,直到你隐藏(使用按钮)第二个div。 该代码适用于所有其他主流浏览器,只有IE会造成麻烦。

我不知道为什么会这样,所以我要求一些帮助。

编辑:

以下是该问题的详细说明。这完全是关于索引的。

环境:

浏览器:IE 9.0

重现的步骤:

  1. 隐藏第二个div。 (单击第一个按钮)
  2. 尝试将第15个项目(例如)移动到位置7(例如)。
  3. 当前行为:

    第15项的索引更改为“02”(拖动期间),当您将其置于新位置时,排序会混淆。

    预期行为

    重新加载页面并执行相同操作但不隐藏第二个div。

    解决方法

    一种可能的解决方法是在第一个和第二个之间放置一个新div。如果包含“ol”节点的div之后的节点将“display”设置为“none”,则IE似乎在重建索引时遇到问题。 (似乎节点是div还是别的什么并不重要)

1 个答案:

答案 0 :(得分: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不兼容。