Twitter bootstrap 3 Bootstrap 3一页上的多个手风琴必须在事实发生后分配数据父值

Twitter bootstrap 3 Bootstrap 3一页上的多个手风琴必须在事实发生后分配数据父值,twitter-bootstrap-3,accordion,Twitter Bootstrap 3,Accordion,由于我正在开发的CMS有一些限制,我无法在页面加载时使用Bootstrap 3为正确的手风琴创建预期的标记,但是我可以非常接近它 我遇到的问题是 面板组id(accordion1),我无法为面板中的data toggle=“collapse”元素分配正确的数据父元素=“accordion1”。我正在尝试将数据父引用重写为正确的accordion ID,但它没有影响,就像折叠绑定已经就位,我不确定如何绕过它 这是我的问题的一个例子。(id在页面加载时是相同的,但我尝试在dom ready上用脚本重

由于我正在开发的CMS有一些限制,我无法在页面加载时使用Bootstrap 3为正确的手风琴创建预期的标记,但是我可以非常接近它

我遇到的问题是 面板组id(accordion1),我无法为面板中的data toggle=“collapse”元素分配正确的数据父元素=“accordion1”。我正在尝试将数据父引用重写为正确的accordion ID,但它没有影响,就像折叠绑定已经就位,我不确定如何绕过它

这是我的问题的一个例子。(id在页面加载时是相同的,但我尝试在dom ready上用脚本重写它们)

此函数按照BS3的要求修复标记,但功能仍然中断


我最终发现错误是我自己的。多个手风琴不是问题。我错在加价上。“我的方式”中的错误是,两个手风琴的数据切换=“collapse”元素的href=“#collapse-0”都是重复的。它们必须是独一无二的。但是,CMS限制仍然存在于数据父级上。这导致我重做了我的脚本(现在对多个手风琴有效)

我将更新plunkr

$(document).ready(function() {
  $('.panel-group').each(function() {
    var $t = $(this);
    var id = "#" + $t.attr("id");
    $t.find('[data-parent]').attr("data-parent", id);
  });
});
    $('.panel-group').each(function(){
        //setup each panel group with individual id's appropriately
        var $t = $(this);
        var id = "#" + $t.attr('id');
        var randomInt = $t.attr('id').split('_')[1]; //extract

        $t.find('.panel').each(function(){
            //set the proper collapsable targets for each
            var $t = $(this);
            var $dataParent = $t.find('[data-parent]');
            var href = $dataParent.attr('href');

            //set the collapse target
            var $targetId = $dataParent.attr('href', injectRandom(href, randomInt));
            var targetId = $targetId.attr('href').split('#')[1];

            //set the random id's
            $dataParent.attr('data-parent', id);

            //set the collapse container
            $dataParent.parents('.panel-heading:first').next().attr('id', targetId);
        });
        //open first pane
        $t.find('[data-toggle]:first').trigger('click');

    });