折りたたみ可能な要素をページに動的に追加しています。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 (文字列に追加された増分番号) を生成しています。
セレクターを使用したより良いアプローチはありますか? data-target 属性を設定するには、作成後の JavaScript を使用する必要がありますか? 動的コンテンツの ID の生成は標準的なアプローチですか?