2012-07-20 68 views
8

我必须为jquery-tmpl脚本中的div创建一个小部件。如何在“jquery-tmpl”中创建一个小部件?

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

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

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

我怎么能做到这一点?

回答

3

在你展示的代码,该字符串<div id='name'>${Name}</div>script节点内,故不翻译成DOM节点,你不能真正渲染模板之前访问div节点。

可以渲染节点:$.tmpl(myTemplate, myData).appendTo(myDomElement),并然后您可以访问创建的节点:$(myDomElement).find('div#name'),做任何你想做的事情(如:$(myDomElement).find('div#name').datepicker() ...)

0

模板只是一些工作,使建筑html字符串更容易,它们不适用于小部件初始化等任何逻辑。

将html转换为dom的代码是创建widget的位置。你的模板应该不知道“这个模板的父类是什么”,因为它只是一个哑字符串。

+0

为什么downvote?我所说的是最终不可否认的真理:) – Esailija 2012-07-30 09:19:05

相关问题