По сути, вы можете сделать это следующим образом:
var context = {
foo: {
id: 1
}
};
$.get("template.html", function(result) {
result = $(result);
$("*", result).each(function() {
var field = $(this).data("field");
if (field) { // Is tag has "data-field" attribute?
//Well, loop on context to find result.
//e.g. result = context["foo"]["id"]
var regExp = /([^.]+)/gi,
o = context,
match;
while (match = regExp.exec(field)) {
var key = match[1];
o = o[key];
}
$(this).text(o);
}
});
$("body").append(result);
});
Template.html:
<div data-field="foo.ID"></div>
Второй вариант, если у вас есть более сложные имена полей, вы можете использовать Pure .