如何使用jQuery选择器返回的数据和模板?

时间:2014-01-06 19:36:10

标签: javascript jquery templates

如何使用jQuery选择器返回的数据渲染模板,例如mustache.js? 像这样:

var imgs = $('img'),
    arrayOfImgs = { img : $.makeArray(imgs) },
    template = "{{#img}} <span> {{.}} </span> {{/img}}",
    html = Mustache.render(template, arrayOfImgs);
$('.portfolio').html(html);

这不起作用$.makeArray(imgs)返回img个对象的数组,是否有解决方法?

2 个答案:

答案 0 :(得分:1)

你必须将HTML作为字符串返回,这可以通过$ .map轻松完成并返回this.outerHTML

var imgs = $('img'),
    arrayOfImgs = $.map(imgs, function(el) { return el.outerHTML; }),
    template = "{{#img}} <span> {{.}} </span> {{/img}}",
    html = Mustache.render(template, arrayOfImgs);

$('.portfolio').html(html);

答案 1 :(得分:0)

只需使用var imgs = $('img')即可。它已经是一组img html标签。我不知道胡子是如何工作的。