JavaScriptでPHPのsmartyのようにテンプレートを使ってqueryを展開することができないのかと模索していたところ。
Underscore.jsのtemplateメソッドを使えばいけそうです。
<div id="container"><ul><ul></div> <script> var list = "<% _.each(people, function(name,i) { %><li><%= name %></li><% }); %>"; var ret = _.template( list, {people : ['moe', 'curly', 'larry']} ); $('#container > ul').append(ret); </script>templateメソッドで返ってきた値をdomにappendする感じですねー。
確かに便利だが、若干、醜い気がする。
特に、list変数の部分が。
<% %>はJavaScriptのコードでそれ以外がHTMLなんですよね。
文字列で閉じ込めている以上しょうがないのですが、「"」で囲むのがなー。ちょっとうざい。
もう一歩進んで便利に使えないだろうか?