我正在向页面动态添加可折叠元素。Bootstrap 使用“data-target”属性来指定折叠切换适用于哪个元素。
从文档:
The data-target attribute accepts a css selector
有没有办法编写一个选择器来指定父元素的下一个兄弟?文档中的所有示例似乎都使用 ID 选择。
具体来说,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 选择器可能无法做到这一点。
现在,作为一种解决方法,我在创建元素时生成了一个新的 ID(一个递增的数字附加到一个字符串)。
使用选择器有更好的方法吗?我应该使用一些创建后的 javascript 来设置 data-target 属性吗?为动态内容生成 ID 是标准方法吗?