Performance: Multi-target collapse
MEDIUM IMPACT
This affects page interactivity and rendering speed when toggling multiple collapsible elements simultaneously.
<button id="toggleAll">Toggle All</button> <div id="collapseOne" class="collapse">Content 1</div> <div id="collapseTwo" class="collapse">Content 2</div> <div id="collapseThree" class="collapse">Content 3</div> <script>const btn = document.getElementById('toggleAll'); btn.addEventListener('click', () => { const collapses = document.querySelectorAll('.collapse'); collapses.forEach(el => el.classList.toggle('show')); });</script>
<button data-bs-toggle="collapse" data-bs-target="#collapseOne,#collapseTwo,#collapseThree">Toggle All</button> <div id="collapseOne" class="collapse">Content 1</div> <div id="collapseTwo" class="collapse">Content 2</div> <div id="collapseThree" class="collapse">Content 3</div>
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Multi-target data-bs-toggle | Multiple toggle events | 3 reflows (one per target) | 3 paints | [X] Bad |
| Batch toggle with script | Single toggle event batch | 1 reflow | 1 paint | [OK] Good |