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

前端之家收集整理的这篇文章主要介绍了顶级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相关文章