Рекомендуемые шаблоны jQuery для 2012 года?
Шаблоны jQuery устарели в течение некоторого времени.
У меня есть некоторые данные в виде объекта JavaScript, который я хочу отформатировать как HTML и добавить в DOM. Какой лучший способ сделать это в наши дни?
- Должен ли я создать HTML-строку?
- Должен ли я создавать элементы через jQuery, например
$('<li>',{id:'my-'+Id}).append($('<span>').text(myText))
?
- Есть ли замена или зрелая замена шаблонов jQuery?
Ответы
Ответ 1
Вот как я это делаю в своих проектах:
Определите шаблон в своем 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.format:
String.prototype.format = function() {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] != 'undefined'
? args[number]
: match
;
});
};
Довольно просто, вы можете даже комбинировать шаблоны.
Ответ 2
Вы должны попробовать Handlebars и/или Mustache
Я использую Handlebars, но синтаксис очень похож.
Ответ 3
Mustache.js неплохо подходит для шаблонов.
https://github.com/janl/mustache.js
Ответ 4
Шаблоны полностью, так проще, чем пытаться разобрать JSON вручную. Поскольку я внес свой вклад в это, я частично отношусь к json2html, так как он не требует компиляции шаблонов и не использует ничего, кроме JSON и JavaScript.
http://json2html.com
Ответ 5
Мне действительно не нравится создавать элемент html с помощью javascript, поэтому я предлагаю вам использовать какой-либо шаблон.
Вы можете найти список шаблонов и связанный с ними вопрос здесь.
Раньше я использовал jQuery Templates
, он простой, но он неактивен.