мини JS шаблонизатор
мини JS шаблонизатор
by Сергей Тарасевич
HTML
<div data-content="1">Меня зовут {$name}! - Мне {$years}</div>
<br>
<div data-content="2">Меня зовут {$name}! - Мне {$years}</div>
<br>
<div data-content="3">Меня зовут {$name}! - Мне {$years}</div>
JavaScript
function tpl(a, b) {
b && (a = a.replace(/\{\$([^}]+)}/g, function(a, e) {
return e in b ? b[e] : a
}));
return a
}
function contentEach(a) {
$(a).each(function() {
var t = $(this);
t.html(tpl(t.html(), obj[t.data('content')]));
});
}
var obj = {
1: {
name: 'Вася',
years: '23'
},
2: {
name: 'Маша',
years: '19'
},
3: {
name: 'Лёня',
years: '27'
}
}
$(document).ready(function() {
contentEach('[data-content]');
});