まず、コンテンツ内で HTML を使用する場合は、HTML オプションを true に設定する必要があります。
$('.danger').popover({ html : true});
次に、ポップオーバーのコンテンツを設定するための 2 つのオプションがあります
- data-content 属性を使用します。これはデフォルトのオプションです。
- HTML コンテンツを返すカスタム JS 関数を使用します。
data-content の使用: 次のように、HTML コンテンツをエスケープする必要があります。
<a class='danger' data-placement='above'
data-content="<div>This is your div content</div>"
title="Title" href='#'>Click</a>
HTML を手動でエスケープするか、関数を使用できます。PHP についてはわかりませんが、Rails では *html_safe* を使用しています。
JS 関数の使用: これを行う場合、いくつかのオプションがあります。私が思う最も簡単な方法は、div コンテンツを好きな場所に非表示にしてから、そのコンテンツをポップオーバーに渡す関数を作成することです。このようなもの:
$(document).ready(function(){
$('.danger').popover({
html : true,
content: function() {
return $('#popover_content_wrapper').html();
}
});
});
そして、HTML は次のようになります。
<a class='danger' data-placement='above' title="Popover Title" href='#'>Click</a>
<div id="popover_content_wrapper" style="display: none">
<div>This is your div content</div>
</div>
それが役に立てば幸い!
PS: popover を使用して title 属性を設定しないと、いくつかの問題が発生しました...そのため、常にタイトルを設定することを忘れないでください。