2012-07-20 66 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

相關問題