55

jQuery テンプレートは、しばらく前から廃止されています。

HTML としてフォーマットして DOM に追加したい JavaScript オブジェクトの形式のデータがあります。最近、それを行う最善の方法は何ですか?

  1. HTML 文字列を作成する必要がありますか?
  2. のような要素を jQuery 経由で作成する必要があります$('<li>',{id:'my-'+Id}).append($('<span>').text(myText))か?
  3. jQuery テンプレートの代替品または成熟した代替品はありますか?
4

5 に答える 5

104

これが私のプロジェクトでのやり方です:

HTML でテンプレートを定義します。

<script type="text/template" id="cardTemplate">
<div>
    <a href="{0}">{1}</a>
</div>
</script>

string.format を使用して変数を置き換えます。

var cardTemplate = $("#cardTemplate").html();
var template = cardTemplate.format("http://example.com", "Link Title");
$("#container").append(template);

文字列.フォーマット:

String.prototype.format = function() {
  var args = arguments;
  return this.replace(/{(\d+)}/g, function(match, number) { 
    return typeof args[number] != 'undefined'
      ? args[number]
      : match
    ;
  });
};

非常にシンプルで、テンプレートを組み合わせることもできます。

于 2012-12-27T23:01:31.747 に答える
10

あなたは間違いなくハンドルバー口ひげを試してみてください

私はハンドルバーを使用する傾向がありますが、構文は非常に似ています。

于 2012-12-27T22:58:25.423 に答える
9

Mustache.js は、テンプレート作成に非常に適しています。

https://github.com/janl/mustache.js

于 2012-12-27T22:57:32.867 に答える
7

テンプレートはずっと、JSONを手動で解析しようとするよりもはるかに簡単です。私はそれに貢献したので、テンプレートのコンパイルを必要とせず、JSONとJavaScriptしか使用しないため、json2htmlに部分的です。

http://json2html.com

于 2012-12-28T05:24:13.903 に答える
0

JavaScript を使用して html 要素を作成するのは本当に好きではないので、テンプレートを使用することをお勧めします。
テンプレートのリストと関連する質問については、こちらを参照してください。

以前は を使用してjQuery Templatesいました。非常にシンプルですが、アクティブではなくなりました。

于 2012-12-27T23:01:54.420 に答える