我必須爲jquery-tmpl腳本中的div創建一個小部件。如何在「jquery-tmpl」中創建一個小部件?
<script id="movieTemplate" type="text/x-jquery-tmpl">
<div id='name'>${Name}</div>
</script>
在上面的腳本中,我想訪問name
div並創建一個小部件。
注意:我要將該腳本追加到另一個小部件,所以在這裏我不知道「這個模板的父母是什麼」。
我怎麼能做到這一點?
我必須爲jquery-tmpl腳本中的div創建一個小部件。如何在「jquery-tmpl」中創建一個小部件?
<script id="movieTemplate" type="text/x-jquery-tmpl">
<div id='name'>${Name}</div>
</script>
在上面的腳本中,我想訪問name
div並創建一個小部件。
注意:我要將該腳本追加到另一個小部件,所以在這裏我不知道「這個模板的父母是什麼」。
我怎麼能做到這一點?
在你展示的代碼,該字符串<div id='name'>${Name}</div>
是script
節點內,故不翻譯成DOM節點,你不能真正渲染模板之前訪問div
節點。
可以渲染節點:$.tmpl(myTemplate, myData).appendTo(myDomElement)
,並然後您可以訪問創建的節點:$(myDomElement).find('div#name')
,做任何你想做的事情(如:$(myDomElement).find('div#name').datepicker()
...)
模板只是一些工作,使建築html字符串更容易,它們不適用於小部件初始化等任何邏輯。
將html轉換爲dom的代碼是創建widget的位置。你的模板應該不知道「這個模板的父類是什麼」,因爲它只是一個啞字符串。
爲什麼downvote?我所說的是最終不可否認的真理:) – Esailija 2012-07-30 09:19:05