使最后一个动态增加的手风琴开放

我正在尝试以编程方式添加bootstrap 手风琴,以便每次单击ADD按钮时,都会生成新的手风琴并且之前或任何其他手风琴关闭。 我无法弄清楚如何使用方法和传递的选项的bootstrap文档,我已经放置了一些我的但是它不起作用。

if(this.aCount === 1){ $('.collapse').collapse('hide'); }else if(this.aCount === 2){ $('.collapse').collapse('hide'); $('.collapse').collapse('show'); } 

问题是我对手风琴的识别是动态的,所以我不能使用它,但总的来说我的脚本会生成3个手风琴,并且每次添加一个新的手风琴时,我想打开最近添加的一个并关闭任何打开的手风琴。 现在它打开了第一个。

这是我工作的jsFiddle ,尝试这个。 我正在使用jquery toggle()方法在单击时打开和关闭每个div。 然后我使用siblings()来调用相对div元素。

我这里没有使用bootstrap。 🙂
希望这会帮助你。

您可以使用.on方法在jQuery中“委派事件”,以便将事件绑定到动态创建的元素:

 jQuery(document).on('click', '.collapse', function (e) { // SOME .collapse WAS CLICKED! jQuery('.collapse').collapse('hide'); }); 

这样,每次单击.collapse元素时 – 即使元素是动态创建的 – 所有其他元素也将关闭。