Если вы нацелены на несколько свертываний, вы должны использовать селектор класса вместо селектора идентификатора:
$(function(){
$('.accordian-body.collapse').on('show.bs.collapse', function(e) {
...
});
});
Вы можете получить свернутый идентификатор элемента DOM из e.target.id
.
// If using your example:
// if you click on 1st row you will get:
demo1
// if you click on 2nd row you will get:
demo2
// if you click on 3rd row you will get:
demo3
Если у вас есть больше данных, которые вам нужно получить, кроме идентификатора, вы можете связать данные, используя data-
, когда вы создаете свой HTML, а затем jQuery на целиВозьмите объект и перейдите оттуда:
HTML
<div class="accordian-body collapse" id="demo{{ loop.index }}"
data-index="{{ loop.index }}">
Demo{{ loop.index }} data
</div>
JavaScript
$('.accordian-body.collapse').on('show.bs.collapse', function(e) {
let $collapsedTarget = $(e.target),
index = $collapsedTarget.data('index');
});
Я не уверен, ответил я на ваш вопрос или нет, так как ваш вопрос не являетсямне тоже понятно.