我必须为jquery-tmpl脚本中的div创建一个小部件。
<script id="movieTemplate" type="text/x-jquery-tmpl">
<div id='name'>${Name}</div>
</script>
在上面的脚本中,我想访问name
div并创建一个小部件。
注意:我要将该脚本附加到另一个小部件中,所以在这里我不知道“这个模板的父级是什么”。
我怎么能实现这个目标?
答案 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的代码是创建小部件的位置。你的模板确实不应该知道“这个模板的父亲是什么”,因为它只是一个愚蠢的字符串。