作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
jquery.tmpl
的文档使用 .appendTo
在渲染过程中将模板插入到 DOM 中:
$.tmpl( myTemplate, myData ).appendTo( "#target" );
我正在尝试从另一个模板引擎转换现有应用程序,并且我的代码需要先将模板渲染为字符串,然后再将其添加到 DOM。这可能吗?那要怎么做呢?
最佳答案
这里的答案对我没有帮助,但是 Adam 的回复让我走上了正轨:任何 jQuery 包装元素都有一个 .html()
方法。
var output = $( "#infoWindowTemplate" ).tmpl( city_data ).html()
或者如果您需要文本...
var output = $( "#infoWindowTemplate" ).tmpl( city_data ).text()
但请注意,模板的最外层(根)元素被跳过,因此您应该使模板看起来像这样:
<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>
或者只使用 jQuery externalHtml 插件 ( http://darlesson.com/jquery/outerhtml/ ) 并将 .html()
替换为 .outerHTML()
关于jquery - 如何将 jQuery.tmpl 模板渲染为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3991320/
我是一名优秀的程序员,十分优秀!