How do I render a jQuery.tmpl Template to a String?
You could do it by just putting the result in a temporary container and taking the innerHTML of it, like this:
var str = $("<div />").append($.tmpl(myTemplate, myData)).html();
The answers here didn't help me, however Adam's reply set me on the right track:
any jQuery wrapped element has a .html()
method.
var output = $( "#infoWindowTemplate" ).tmpl( city_data ).html()
or if you need text...
var output = $( "#infoWindowTemplate" ).tmpl( city_data ).text()
but please take note, that the outermost(root) element of the template is skipped, so you should make your templates look something like this:
<script id='infoWindowTemplate' type='text/x-jquery-tmpl'>
<div class='city_info'>
<h1 class='title'><a href="${link}">${name}</a></h1>
<p class='meta'>${count} offers</p>
</div>
</script>
or just use the jQuery outerHtml plugin ( http://darlesson.com/jquery/outerhtml/ ) and replace .html()
with .outerHTML()