jquery ポップオーバーを使用するための優れたトリックがあります。これは、非表示の div にデータを入力し、クリックしたボタンにポップオーバーを表示して、div をその popover のコンテンツとしてレンダリングするように指示することです。複数の div がある場合は、それらをクラスごとに分けると、ここで問題が発生します。angularjsコード(ngrepeatなど)はhtmlコードに変換されず、実際にはjqueryにレンダリングするように指示するhtml divはありません(ページのソースを見ると、angularjs ng-repeatはhtml要素に抽出されていませんこれらのdivはngrepeatを介して生成され、jqueryはhtml divがないことを理解していないためです。解決策は何ですか?(ここに私のコードがあります:)
<script type="text/javascript">
$(function () {
$('.product-show').each( function() { $(this).popover({
html : true ,
content : function() { return $(".editform"+this.id).html(); },
placement : 'bottom'
});
});
});
</script>
<li ng-repeat='product in products' class="span3">
<a class='btn btn-mini product-show' id={{product.id}} data-value={{product.id}} >show</a>
<div class="editform{{product.id}} hide">
Hello!
</div>
</li>