Правильный способ сделать это _.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));
});
ИЛИ
положить в ваш шаблон
<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
Как выглядит результирующий массив? –
С помощью функции '.map()' обычно вы возвращаете обратный вызов и сохраняете возвращаемое значение вызова '.map()', который будет новым массивом любой возвращаемой функции. –