展开折叠功能会破坏jQuery

时间:2016-07-12 14:10:10

标签: javascript jquery

在我的项目中,我正在使用Vertical-Accordion-Menu-Plugin-For-jQuery-Nav-Accordion,它允许我使父链接可点击。我对jQuery做了一些小改动,使键盘可以访问。除了一件小事之外,一切看起来都不错。当我展开所有级别然后关闭父级容器时,子级别项目不再显示展开/折叠按钮。由于某些原因,它打破了。 https://jsfiddle.net/webIra7/mvtf6zve/

Sub FindIE() 'Needs reference to "Microsoft Shell Controls And Automation" from VBA->Tools->References
    Dim sh
    Dim eachIE
    Dim SearchUntil
    SearchUntil = Now() + 20 / 24 / 60 / 60 'Allow to search for 20 seconds otherwise it interrupts search
    Do
      Set sh = New Shell32.Shell
      For Each eachIE In sh.Windows
        If InStr(1, eachIE.LocationURL, ServerAddress) Then
          Set appIE = eachIE
          'IE.Visible = False  'This is here because in some environments, the new process defaults to Visible.
          'Exit Do
          End If
        Next eachIE
        If TypeName(appIE) <> "Object" Then
            If InStr(1, appIE.LocationURL, ServerAddress) > 0 Or SearchUntil < Now() Then Exit Do
        End If
    Loop
    Set eachIE = Nothing
    Set sh = Nothing
End Sub

2 个答案:

答案 0 :(得分:0)

错误与下面的行没有找到'.accordion-collapsed'元素有关,因为搜索parent(),它假设一个特定的dom结构。 使用.closest()更灵活。 解决这个问题的一种方法是替换

.parent().find('.accordion-collapsed').css('display', 'inline-block');

.closest('ul').find('.accordion-collapsed').css('display', 'inline-block');

行取自本节:

$(element).closest(settings.childElement).find('.accordion-active')
                            .removeClass('accordion-active')
                            .next(settings.childElement)
                                .slideUp(settings.slideSpeed).prev()
                                .find('.accordion-expanded')
                                    .css('display', 'none')
                                    .parent().find('.accordion-collapsed')
                                        .css('display', 'inline-block');

答案 1 :(得分:0)

我能够解决此问题,我只需要从JavaScript中删除额外的标记。

@Html.HiddenFor(model => model.Customer.Property1) ...etc...

我更新了我的js小提琴https://jsfiddle.net/webIra7/mvtf6zve/5/