我正在使用jsRender在html页面上呈现我的数据。数据呈现得非常完美。但是,在某些内容项中,HTML文本(如超链接)显示为文本。在jquery模板中,有一种通过{{ HTML .在jsRender中有没有类似的东西?我的代码如下:
<p>
{{ =Status}} //need to convert this to HTML so it should appear as hyperlink.
</p> 谢谢。
发布于 2012-03-07 22:44:54
JsRender测试版候选人现在已经出来了(参见昨晚http://www.borismoore.com/2012/03/approaching-beta-whats-changing-in_06.html上的博里斯的帖子)
我在这里写了一个快速小提琴来展示如何呈现超文本标记语言:http://jsfiddle.net/johnpapa/NfUGB/
基本上,只需使用{{>yourProperty}}标记将其呈现为HTML编码。使用{{:yourProperty}}跳过编码。
<script id="template" type="text/x-jsrender">
<p>
{{:foo}}
</p>
<ul>
{{for testData}}
<li>{{:name}} - {{:markup}} - {{>markup}}</li>
{{/for}}
</ul>
</script>
<div id="div1"></div>。
var vm = {
foo: "names",
testData: [
{
name: "John",
markup: "<span style='background: yellow'>John</span>"
},
{
name: "Boris",
markup: "<span style='background: orange'>Boris</span>"
}
]
};
$("#div1").html($("#template").render(vm));
发布于 2012-08-14 02:39:40
使用{{:Status}}生成HTML代码。
发布于 2012-01-10 19:53:38
查看jsRender的源代码,我可以看到该插件将<、>和&字符转换为它们的HTML实体。也许您可以尝试在jsRender中更改这些行
escapeMapForHtml = {
"&": "&",
"<": "<",
">": ">"
},至
escapeMapForHtml = {
},注意插入来自外部来源的未经检查的HTML的安全风险!
编辑: OK,检查示例(特别是03_no-encoding.html)带来了另一种解决方案。因此,继续撤消我之前提出的更改,并尝试使用
{{=Status!}感叹号应防止jsRender更改HTML
https://stackoverflow.com/questions/8801887
复制相似问题