0

html() JQuery 関数を使用して td 行に画像を挿入しようとしています ( http://jsfiddle.net/R5q68/を参照)。

問題は、画像が表示されないことです。td を分析すると、img タグを閉じるスラッシュがないようです。

私は symfony2 とアセットを使用しているため、私の画像リンクはそのようになっています。

<img src="{{ asset('bundles/sciforumversion2/images/design/new/submission/element_up.png') }}"/>
4

3 に答える 3

2

jQuery を使用してそのような文字列を作成することはできません。symfony2 がサーバー側で実行されている間に jQuery がクライアント側で実行されるためです。

文字列"{{ asset('bundles/scif..."はサーバーによって解釈される必要がありますが、jQuery を実行しているときは遅すぎます。アセット テンプレートのクライアント側をビルドすることはできません。

できることは、標準の HTML を挿入することです。

 td.html('<img src=http://dystroy.org/re7210/img/tartare-saumon-creme-salade-harengs-pommes-de-terre-800.jpg">');​

しかし、文字列を1つの単純な変数で次のように構築すると

var image_src = "{{asset('bundles/sciforumversion2/images/design/new/submission/element_up.png')}}";

td.html('<img src="'+image_src+'">');

そして、symfony が実行されている (つまり、jsfiddle でこれを実行していない) 場合は、動作するはずです。

于 2012-12-07T16:10:19.427 に答える
0

私は解決策を見つけました:画像パスを使用してグローバルJavaScript変数を作成する必要がありました:

<script>
    var arrow_down = "{{ asset('bundles/mybundle/images/menu_down.png') }}";
</script>

そして、このパスで、画像アセットを設定することができました。

goes_down_td.html('<img src="'+arrow_down+'"/>');

そしてそれは行われます。楽しみ。

于 2012-12-10T13:48:05.397 に答える
-1

画像パスを確認して、これを試してください:

     var td = $('#test');
    img_src= '<img src="../bundles/sciforumversion2/images/design/new/submission/element_up.png" id="td_img" />;
    td.innerhtml(img_src);
于 2012-12-07T16:17:35.633 に答える