Я динамически добавляю Collapsable элементы на страницу. Bootstrap использует атрибут "data-target", чтобы указать, к какому элементу применяется коллапс.
Из документов:
The data-target attribute accepts a css selector
Есть ли способ написать селектор, который задает следующий родственный элемент родительского элемента? Все примеры из документов, похоже, используют выбор по идентификатору.
В частности, HTML выглядит так:
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-target="#collapseOne">
Generated Title
</a>
</div>
<div id="collapseOne" class="accordion-body collapse in">
<div class="accordion-inner">
Generated Content... this is big and sometimes needs collapsing
</div>
</div>
</div>
Я хотел бы написать что-то вроде (псевдокод с использованием синтаксиса jquery нелегально):
<a class="accordion-toggle" data-toggle="collapse" data-target="$(this).parent().next()">
Но я начинаю подозревать, что это может быть невозможно с помощью селекторов CSS.
В качестве обходного пути я создаю новый идентификатор (добавочное число, добавленное к строке), когда я создаю элемент.
Есть ли более удобный подход с помощью селектора? Должен ли я использовать какой-либо пост-созданный javascript для установки атрибута data-target? Является ли генерация идентификаторов для динамического контента стандартным подходом?