如何在“jquery-tmpl”中创建一个小部件?

时间:2012-07-20 09:36:35

标签: jquery jquery-templates

我必须为jquery-tmpl脚本中的div创建一个小部件。

<script id="movieTemplate" type="text/x-jquery-tmpl"> 
      <div id='name'>${Name}</div>
</script>

在上面的脚本中,我想访问name div并创建一个小部件。

注意:我要将该脚本附加到另一个小部件中,所以在这里我不知道“这个模板的父级是什么”。

我怎么能实现这个目标?

2 个答案:

答案 0 :(得分:3)

在您显示的代码中,字符串<div id='name'>${Name}</div>位于script节点内,因此它不会转换为DOM节点,并且您无法在实际<之前访问div节点em>渲染模板。

您可以渲染节点:$.tmpl(myTemplate, myData).appendTo(myDomElement)然后您可以访问创建的节点:$(myDomElement).find('div#name')并随意执行任何操作(例如:{{1} } ...)

答案 1 :(得分:0)

模板只是使构建html字符串更容易的东西,它们不适用于小部件的初始化或其他任何逻辑。

将html转换为dom的代码是创建小部件的位置。你的模板确实不应该知道“这个模板的父亲是什么”,因为它只是一个愚蠢的字符串。