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

隐藏同级div节点后,可排序jquery列表在IE 9.0中不起作用,jquery,internet-explorer,jquery-ui-sortable,Jquery,Internet Explorer,Jquery Ui Sortable,以下是我试图修复的代码: 在隐藏(使用按钮)第二个div之前,一切正常。 该代码在其他主流浏览器中都能正常工作,只有IE会引起麻烦 我不知道为什么会这样,所以我请求一些帮助 编辑: 下面是对这个问题的详细解释。这都是关于索引的 环境: 浏览器:IE 9.0 复制步骤: 隐藏第二个div(单击第一个按钮) 尝试移动位置7上的第15项(例如) 当前行为: 第15项的索引将更改为“02”(拖动期间),当您将其放置在新位置时,顺序将混淆 预期行为 重新加载页面并执行相同的操作,但不隐藏第二个div 解决

以下是我试图修复的代码:

在隐藏(使用按钮)第二个div之前,一切正常。 该代码在其他主流浏览器中都能正常工作,只有IE会引起麻烦

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

编辑:

下面是对这个问题的详细解释。这都是关于索引的

环境:

浏览器:IE 9.0

复制步骤:

  • 隐藏第二个div(单击第一个按钮)
  • 尝试移动位置7上的第15项(例如)
  • 当前行为:

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

    预期行为

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

    解决方法


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

    我已经用这个提琴验证了IE7中的以下工作:

    试试这个:

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

    如果这在IE中起作用,那么问题在于不兼容的CSS。

    我已经用这把小提琴验证了IE7中的以下工作:

    试试这个:

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

    如果这在IE中起作用,那么问题在于CSS不兼容。

    不,这不起作用。从我在jQuery文档中读到的内容来看,.hide()几乎就是我对.hidden类所做的。因此,当您在ie中使用此代码时,它不起作用——也就是说,它不会隐藏内容?@user931392-这不是重点,您有一个bug。jQuery正在使用经过数百万人测试的跨浏览器代码实现这一功能。也许他们的代码没有bug。使用他们的代码,你可以利用所有的测试,建立一个跨浏览器的网站。我使用IE9.0,这是目标浏览器。您提出的修复方案在那里不起作用。您可以看到,经过几次重新排序后,排序仍然变得混乱。(另一件事是当前拖动的元素的索引更改为“02”。当您开始拖动时)我不知道您在说什么。所有的问题都是关于隐藏/显示的。请用您遇到的实际问题更新原始问题,否则没有人能够提供帮助。不,这不起作用。从我在jQuery文档中读到的内容来看,.hide()几乎就是我对.hidden类所做的。因此,当您在ie中使用此代码时,它不起作用——也就是说,它不会隐藏内容?@user931392-这不是重点,您有一个bug。jQuery正在使用经过数百万人测试的跨浏览器代码实现这一功能。也许他们的代码没有bug。使用他们的代码,你可以利用所有的测试,建立一个跨浏览器的网站。我使用IE9.0,这是目标浏览器。您提出的修复方案在那里不起作用。您可以看到,经过几次重新排序后,排序仍然变得混乱。(另一件事是当前拖动的元素的索引更改为“02”。当您开始拖动时)我不知道您在说什么。所有的问题都是关于隐藏/显示的。请用您遇到的实际问题更新原始问题,否则没有人能够提供帮助。请扩展此问题。。。什么不按预期工作。所谓的“索引”是指开头的数字还是项目后面的数字?这个“问题”在IE7 BTW中不是问题,因为它甚至没有显示前缀项目编号。1)我只对IE 9.0感兴趣2)你是对的,我对问题的解释很差-对不起。我所说的索引是指“Item”之前的数字。我相信这是一个CSS问题,它可能是一个jQuery错误。请扩展这个问题。。。什么不按预期工作。所谓的“索引”是指开头的数字还是项目后面的数字?这个“问题”在IE7 BTW中不是问题,因为它甚至没有显示前缀项目编号。1)我只对IE 9.0感兴趣2)你是对的,我对问题的解释很差-对不起。我所说的索引是指“Item”之前的数字。我相信这是一个CSS问题,它可能是一个jQuery错误。