Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Introducing Templates for jQuery

Introducing Templates for jQuery

Leia em Português

This item in japanese

In the first of three new libraries created by Microsoft and accepted by jQuery as official plugins, the jQuery Templates API allows for the dynamic creation of HTML Elements from data objects. Like server-side templating languages such as ASP or VB’s XML Literals, one merely has to leave holes with data-binding expressions that indicate what should be displayed.

Basic data binding is done using the syntax ${fieldName}. For example:


<script id="bookTemplate" type="text/x-jquery-tmpl">
    <li><b>${Name}</b> (${Year})</li>

To use a template, simply define the target location and execute the template using the “tmpl” method.


<ul id="bookList"></ul>
$( "#bookTemplate" ).tmpl( books ).appendTo( "#bookList" );

Using this syntax, the template is compiled as a JavaScript function. Compiled templates can also be created form strings using jQuery.template function. Templates created in this fashion can be named, which stores them in the $.templates list, or simply returned as an object.

For single-use templates, the overhead of compiling them is often not worth the cost. In these situations you can pass the template definition as a string directly to the template execution function, jQuery.tmpl.

The jQuery Template API requires jQuery 1.4.2. It is licensed under both the MIT and GPL Version 2 licenses.

Rate this Article