【问题标题】:Bootstrap Accordion - Toggle all nested elementsBootstrap Accordion - 切换所有嵌套元素
【发布时间】:2014-03-30 02:50:25
【问题描述】:

我在页面上有很多嵌套的引导可折叠元素。 例如http://jsfiddle.net/JPgLT/7/

如何设置链接以仅在父元素内切换所有元素?

<div class="panel panel-default">
    <div class="panel-heading">
            <h2 class="panel-title">
                <a href="#collapse-764" data-parent="#collapsible-" class="accordion-toggle" data-toggle="collapse">Headline 1</a>
            </h2>
    </div>
    <div id="collapse-764" class="panel-collapse collapse">
        <div class="panel-body">
            <div class="panel panel-default">
                <div class="panel-heading">
                        <h2 class="csc-firstHeader panel-title">
                            <a href="#collapse-765" data-parent="#collapsible-764" class="accordion-toggle" data-toggle="collapse">Headline 1.1</a>
                        </h2>
                </div>
                <div id="collapse-765" class="panel-collapse collapse">
                    <div class="panel-body">
                        <p>Text 1.1</p>
                    </div>
                </div>
            </div>
            <div class="panel panel-default">
                <div class="panel-heading">
                    <h2 class="panel-title">
                        <a href="#collapse-766" data-parent="#collapsible-764" class="accordion-toggle" data-toggle="collapse">Headline 1.2</a>
                    </h2>
                </div>
                <div id="collapse-766" class="panel-collapse collapse">
                    <div class="panel-body">
                        <p>Text 1.2</p>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

【问题讨论】:

    标签: javascript jquery twitter-bootstrap collapse


    【解决方案1】:

    您可以为按钮添加一个特殊的类 closeall,然后使用 jQuery 切换折叠状态..

    $('.closeall').click(function(){
        $(this).parents('.panel-heading') // find the parent heading element
        .next('.panel-collapse')          // find the next collapse element
        .collapse('show')                 // make sure it's open
        .find('.panel-collapse')          // find inner collapse elements
        .collapse('toggle');              // toggle their state
    });
    

    演示:http://bootply.com/117082

    相关问题
    bootstrap 3 collapse('hide') opens all collapsibles?

    【讨论】:

    • 我跟踪到了 collapse() 调用,这是 Bootstrap 特有的吗?我以前从未在 jQuery 中见过它
    • 是的..它是一个引导组件
    【解决方案2】:

    我想我对你的问题的理解有点不同,我知道你已经排除了答案,但我想我还是会回答,因为我对 jQuery 很陌生,希望得到反馈

    $el = $(".accordian-toggle").first();  //Use whatever selector you have to to select the parent element
    $el.click(); //expand/toggle that element
    
    //then use that elements href attribute as the selector to find all toggleable 'child' elements 
    $($el.attr('href')).find(".accordion-toggle").each(function(){
        $(this).click();
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-26
      • 1970-01-01
      • 2015-10-28
      • 2013-04-25
      相关资源
      最近更新 更多