在我的代码中,如果我删除了
<script type="text/html" class="template"> </script>
标记来自包含一些<select>
标记的div部分,然后selected.jquery.js样式生效。
如果我保留<script>
标签,则不会正确修改选择下拉列表,而是将其修改为某种操作链接。
继承人jsfiddle。
如果删除标签以及对模板的下划线和jquery调用,则下拉列表将正确加载。
这是一个显示两种方式的图像:
我希望它看起来与底部选项类似,同时仍然使用下划线的模板。这可能吗?
答案 0 :(得分:1)
当你说_.template(some_html)
时,你会得到一个函数,而不是HTML:
模板
_.template(templateString, [data], [settings])
将JavaScript模板编译为可以评估渲染的函数 [...]
如果您正在编写一次性文件,则可以将数据对象作为第二个参数传递给模板,以便立即呈现,而不是返回模板函数。
因此,您尝试在页面中添加一项功能,就好像它是一大堆HTML并且效果不佳。此外,您试图将模板放入文档<head>
区域,这不是一个好主意。
您需要编译模板,然后运行您获取的功能以获取HTML:
var template = _.template(some_html);
var html = template(); // Or template(data) if you have data.
如果您有模板的数据,可以一次性完成:
var html = _.template(some_html, data);