做到這一點,正確的方法是_.template
Example
如果你的結構是這樣的:
var list = {"partners":[
{"username":"fangonk","profileImg":"fangonk.jpg"},
{"username":"jane","profileImg":"jane.jpg"},
{"username":"tom_jones","profileImg":"tom.jpg"}
]};
您可以創建重複的項目模板(注意:type="text/html"
)
<script type="text/html" id="userItemTemplate">
<h1><%= username %></h1><img src='<%= profileImg %>' />
</script>
,並把每一個項目到模板通過環路
var uIT = $("#userItemTemplate").html();
_.each(list.partners,function(user){
$("#target").append(_.template(uIT,user));
});
OR
放循環插入你的模板
<script type="text/html" id="userTemplate">
<% _.each(partners,function(user,key,list){ %>
<h1><%= user.username %></h1><img src='<%= user.profileImg %>' />
<% }); %>
</script>
然後向裏推
var uT = $("#userTemplate").html();
$("#target2").html(_.template(uT,list));
請注意,我用下劃線代替lodash全陣列。它大部分是兼容的,但我更喜歡lodash,因爲基準更快,並且庫保持良好。
Ooops - 疲倦的大腦。固定。 – Thomas 2013-02-28 17:17:00
結果數組應該是什麼樣子? – 2013-02-28 17:18:27
使用'.map()'函數,通常你會讓回調函數返回一個值,然後存儲'.map()'調用的返回值,這將是你函數返回的新數組。 – 2013-02-28 17:18:58