2012-07-20 8 views
8

Tengo que crear un widget para el div que está dentro del script jquery-tmpl.¿Cómo crear un widget dentro de "jquery-tmpl"?

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

En el script anterior, que desea tener acceso a la div name y crear un widget.

Nota: Voy a agregar esa secuencia de comandos en otro widget, por lo que aquí no sé "cuál es el elemento principal de esta plantilla".

¿Cómo puedo lograr esto?

Respuesta

3

En el código que muestre, la cadena <div id='name'>${Name}</div> está dentro de un nodo script, por lo que no se traduce en un nodo DOM, y no se puede acceder al nodo div antes de que realmente representación de la plantilla.

Usted puede hacer que el nodo: $.tmpl(myTemplate, myData).appendTo(myDomElement), y luego se puede acceder al nodo creado: $(myDomElement).find('div#name') y hacer lo que quiera con él (por ejemplo: $(myDomElement).find('div#name').datepicker() ...)

0

Las plantillas son sólo algo para hacer la construcción Las cadenas html son más fáciles, no son lógicas, como la inicialización de widgets o lo que sea.

El código que convierte el html en dom es donde debe ocurrir la creación del widget. Su plantilla, de hecho, no debe saber "cuál es el elemento primario de esta plantilla", ya que es simplemente una cadena tonta.

+0

¿Por qué el voto a favor? Lo que dije es la última verdad innegable :) – Esailija

Cuestiones relacionadas