0

在我的代码中,如果我 <script type="text/html" class="template"> </script> 从包含一些<select>标签的 div 部分周围删除标签,则 selected.jquery.js 样式会生效。

如果我留下<script>标签,那么它不会正确修改选择下拉列表,而是将其修改为某种操作链接。

这是一个jsfiddle

如果您删除模板的标签以及下划线和 jquery 调用,下拉菜单将正确加载。

这是显示两种方式的图像:

在此处输入图像描述

我希望它看起来类似于底部选项,同时仍然使用下划线的模板。这可能吗?

4

1 回答 1

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);

演示:http: //jsfiddle.net/ambiguous/3ezqV/

于 2012-10-17T00:37:23.383 回答