Ich muss ein Widget für das div erstellen, das sich im jquery-tmpl-Skript befindet.
%Vor% Im obigen Skript möchte ich auf das name
div zugreifen und ein Widget erstellen.
Hinweis : Ich werde dieses Skript an ein anderes Widget anhängen, daher weiß ich hier nicht, "was ist das übergeordnete Element dieser Vorlage".
Wie könnte ich das erreichen?
In dem angezeigten Code befindet sich die Zeichenfolge <div id='name'>${Name}</div>
in einem script
-Knoten. Daher wird sie nicht in einen DOM-Knoten übersetzt, und Sie können nicht auf den Knoten div
zugreifen, bevor Sie tatsächlich rendern die Vorlage.
Sie können den Knoten rendern: $.tmpl(myTemplate, myData).appendTo(myDomElement)
, und dann können Sie auf den erstellten Knoten zugreifen: $(myDomElement).find('div#name')
und machen Sie was Sie wollen (zB: $(myDomElement).find('div#name').datepicker()
...)
Templates sind nur etwas, das den Aufbau von HTML-Strings erleichtert, sie sind nicht für Logik wie die Initialisierung von Widgets oder was auch immer.
Der Code, der html in dom umwandelt, ist der Ort, an dem die Widget-Erstellung stattfinden soll. Ihre Vorlage sollte in der Tat nicht wissen, "Was ist das Elternteil dieser Vorlage", da es nur eine dumme Zeichenfolge ist.
Tags und Links jquery jquery-templates