jQuery tmpl为图像Tag添加双引号

时间:2013-08-17 15:35:59

标签: javascript jquery image templates templating

我多年来一直使用PrototypeJS,并喜欢他们在lib中使用的模板功能。我现在改为jQuery,我是一个初学者。我无法找到解决问题的方法:

我从一个ajax请求获得一个包含html图像标记的json对象。它看起来像:

<-- some data -->, "del":"<img src=\"img\/icon_delete.png\" class=\"firmenDelZData\" border=\"0\" height=\"17\" id=\"zdataid_13\">"}

当我在jquery中使用以下调用获取此数据时(包括整个json对象:

XHR = $.parseJSON( data );
alert( var.del );

我收到一个警告框,显示没有双引号的普通图片标签。但是当我使用jquery模板函数获取此变量时,如下所示:

$.tmpl( "zdTemplate", { "del": firmenzd[i].del } ).appendTo("#zd");

模板引擎使用双引号插入此图像标记,因此浏览器不显示图像,它将标记本身显示为文本...我该如何解决这个问题?

 "<img src=\"img\/icon_delete.png\" class=\"fDelZData\" border=\"0\" height=\"17\" id=\"zdataid_13\"> 

我有另一个问题:为什么我在jQuery插件部分找不到$ .tmpl函数?还有另一种方法可以使用jquery进行这样的模板化吗?

感谢您的回答

微米。

经过两个小时的搜索后,我发现了一个很棒的标签,可以插入带有.tmpl功能的HTML代码。我只需要放{{html del}}而不是$ {del}。

因此,在定义模板时,我必须按如下方式进行:

`var zdTemplate = '<tr class="ptr zdEntry">' + 
                   '<td class="cellValue fontValue">{{html edit}}</td>' +     
                   '<td class="cellValue fontValue">{{html del}}</td>' + 
                 '</tr>';
$.template( "zdTemplate", zdTemplate );`

,模板化如下:

          ` $.tmpl( "zdTemplate", {
               "edit": firmenzd[i].edit,
               "del": firmenzd[i].del } ).appendTo("#data");`

希望这有助于其他人!

微米。

PS:为我自己找到了解决方案,我现在太新了,无法回答我自己的问题

0 个答案:

没有答案