1

jQuery テンプレート プラグインを使用して、個別の html ファイルをテンプレートとしてレンダリングしています。私のテンプレートの1つは次のようになります。

<div class="row">
    <div class="span4">
        test1
    </div>
    <div class="span4">
        test2
    </div>
    <div class="span4">
       test3
    </div>
</div>

テスト目的で、実際にはまだデータをレンダリングしていません。

firebug でデバッグすると、ajax 呼び出しが正しい html をフェッチすることがわかります (上記とまったく同じです)。次に、json オブジェクト ( という var に格納されている) を使用dataして、取得したテンプレート ( という var に格納されている) をtemplate次のように入力します。

$.tmpl(template, data).appendTo('#person-item-placeholder');

結果のhtml(firebugによって検査される)はこれです(欠落しているdiv要素に注意してください)

<div id="person-item-placeholder">
    <div class="span4">test1‌&lt;/div>
    <div class="span4">‌test2‌&lt;/div>
    <div class="span4">test3‌&lt;/div>
</div>

テンプレート プラグインがその要素を削除しないようにするにはどうすればよいですか?

4

2 に答える 2

2

ドキュメントは、このjQuery.tmpl分野ではあいまいです

表面的には、試したことは機能するはずですが、テンプレート パラメーター オプションの 1 つが次のように表示されます。

テンプレート パラメーターは ... にすることができます。コンテンツがテンプレートとして使用される HTML 要素 (または要素をラップする jQuery オブジェクト)。

ここでのキーワードは「コンテンツ」です。つまり、文字列が渡されたときにこれが発生するとは言いませんが、ラッパーは破棄されます。それを無視すると、症状は質問に記載されているとおりです。

考えられる解決策は、div などのダミー コンテナでテンプレートを事前にラップすることです。

私が正しければ、これはうまくいくはずです:

$.tmpl('<div>+'template+'</div>', data).appendTo('#person-item-placeholder');

または多分 :

$.tmpl($(template).wrap('<div/>'), data).appendTo('#person-item-placeholder');
于 2012-05-08T22:24:09.510 に答える
0

jquery テンプレート docのこのページの例を確認してください。他の何かが欠けています....

また、欠落しているタグがないかチェックしてください...それが原因であるに違いありません...他のすべては問題ないようです...まだ例とのクロスチェック

于 2012-05-08T21:22:10.650 に答える