顶级Accordion中的Jquery UI嵌套手风琴内容

我正在尝试创建一个包含多个组织级别的导航菜单.我正在构建一个嵌套的jQuery UI Accordion,如果所有我的内容都在手风琴的最低级别(最深)嵌套中,那么它很有效.问题是有些元素会有内容和副手风琴.如果我在顶部手风琴旁放置一些文字,它看起来很棒……但是一旦我将它包裹在标签中,它就会打破该元素中的嵌套手风琴

这是我试图让它看起来像的样机
Photo Mockup

我目前的HTML

<div id="faqs-container" class="accordian">
    <h3><a href="#">One</a></h3>

   <div class="accordian">
           I really want a list here!
        <h3><a class=href="#">A</a></h3>
        <div>
            <ul>
                <li>list</li>
                <li>list</li>
                <li>list</li>
            </ul>
            </div>
        <h3><a href="#">B</a></h3>
        <div>    
            <ul>
                <li>list</li>
                <li>list</li>
                <li>list</li>
            </ul>
       </div>
    </div>
    <h3><a href="#">Two</a></h3>
    <div class="accordian">
         <ul>
                <li>But They</li>
                <li>Do Not</li>
                <li>Work</li>
            </ul>
        <h3><a href="#">A2</a></h3>
        <div>
            <ul>
                <li>list</li>
                <li>list</li>
                <li>list</li>
            </ul>
        </div>
        <h3><a href="#">B2</a></h3>
        <div>
            <ul>
                <li>list</li>
                <li>list</li>
                <li>list</li>
            </ul>
        </div>
    </div>
</div>

jQuery的

$("div.accordian").accordion({
        autoHeight: false,collapsible: true,active: false

    });

像这样运行代码会为第一部分生成一个好的嵌套手风琴,但第二部分渲染不正确.看起来jQuery开始在标头之后抓住第一个html元素来构建手风琴.

我在调用accordian时指定了header选项,如下所示

$("div.accordian").accordion({
    autoHeight: false,active: false,header: 'h3'

});

这接近期望的效果.列表呈现在正确的位置,但第二部分中的嵌套手风琴不起作用.

我有Fiddle设置

解决方法

这应该工作
<div id="faqs-container" class="accordian">
    <h3><a href="#">One</a></h3>

   <div class="accordian">
           I really want a list here!
        <h3><a class=href="#">A</a></h3>
        <div>
            <ul>
                <li>list</li>
                <li>list</li>
                <li>list</li>
            </ul>
            </div>
        <h3><a href="#">B</a></h3>
        <div>    
            <ul>
                <li>list</li>
                <li>list</li>
                <li>list</li>
            </ul>
       </div>
    </div>
    <h3><a href="#">Two</a></h3>
    <div> <-- A Wrapper -->
             <ul>
                    <li>But They</li>
                    <li>Do Not</li>
                    <li>Work</li>
                </ul>
         <div class="accordian">
            <h3><a href="#">A2</a></h3>
            <div>
                <ul>
                    <li>list</li>
                    <li>list</li>
                    <li>list</li>
                </ul>
            </div>
            <h3><a href="#">B2</a></h3>
            <div>
                <ul>
                    <li>list</li>
                    <li>list</li>
                    <li>list</li>
                </ul>
            </div>
        </div>
    </div>
</div>

演示:Fiddle

对于选项卡二,您需要创建另一个包装元素并将ul和子手风琴放置为其子元素

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...