私は PrototypeJS を何年も使用しており、ライブラリにあるテンプレート機能が気に入っています。私は今jQueryに変更し、私はかなりの初心者です。問題の解決策が見つかりません:
ajax リクエストから、html イメージ タグを含む json オブジェクトを取得します。次のようになります。
<-- some data -->, "del":"<img src=\"img\/icon_delete.png\" class=\"firmenDelZData\" border=\"0\" height=\"17\" id=\"zdataid_13\">"}
次の呼び出しを使用してjqueryでこのデータを取得すると(jsonオブジェクト全体を含む:
XHR = $.parseJSON( data );
alert( var.del );
二重引用符のない通常のイメージ タグを示す警告ボックスが表示されます。しかし、次のようにjqueryテンプレート関数でこの変数を取得すると:
$.tmpl( "zdTemplate", { "del": firmenzd[i].del } ).appendTo("#zd");
テンプレート エンジンはこのイメージ タグを二重引用符で囲んで挿入するため、ブラウザにはイメージが表示されず、タグ自体がテキストとして表示されます... どうすれば修正できますか?
"<img src=\"img\/icon_delete.png\" class=\"fDelZData\" border=\"0\" height=\"17\" id=\"zdataid_13\">
別の質問があります: jQuery プラグイン セクションで $.tmpl 関数が見つからないのはなぜですか? jqueryでそのようなテンプレートを作成する別の方法はありますか?
回答ありがとうございます
M.
解決
さらに 2 時間検索した後、.tmpl 関数を使用して HTML コードを挿入するための優れたタグを見つけました。${del} の代わりに {{html del}} を配置するだけで済みました。
したがって、テンプレートを定義するときは、次のようにする必要があります。
`var zdTemplate = '<tr class="ptr zdEntry">' +
'<td class="cellValue fontValue">{{html edit}}</td>' +
'<td class="cellValue fontValue">{{html del}}</td>' +
'</tr>';
$.template( "zdTemplate", zdTemplate );`
テンプレートは次のようになります。
` $.tmpl( "zdTemplate", {
"edit": firmenzd[i].edit,
"del": firmenzd[i].del } ).appendTo("#data");`
これが他の誰かに役立つことを願っています!
M.
PS: 自分で解決策を見つけました。自分の質問に答えるにはここでは新しすぎます