<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">Home</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false">Profile</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="contact-tab" data-bs-toggle="tab" data-bs-target="#contact" type="button" role="tab" aria-controls="contact" aria-selected="false">Contact</button>
</li>
</ul>
<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
<div id='my-id'></div>
</div>
<div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
<div id='my-id'></div>
</div>
<div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">
<div id='my-id'></div>
</div>
</div>
Это стандартный код отсюда -
https://getbootstrap.com/docs/5.0/components/navs-tabs/ . Я лишь добавил в тело каждой вкладки следующий код:
<div id='my-id'></div>
При такой реализации выходит, что на странице будет 3 элемента с одинаковым id. Хотя визуально я никогда не буду находиться более, чем на одной из этих вкладок. Из-за этого мне приходится для каждой вкладки выдумывать свой префикс для id, чтобы они отличались.
Есть ли для этого более адекватное решение? В реальном коде все элементы с одинаковым id приходят, конечно, после рендера и т.д., поэтому я передаю нужный префикс в него, но из-за этого код этих добавляемых элементов становится слабо читабельным из-за конструкций типа "##{prefix}-my-id" и прочего.