我正在使用Boris Moore jsRender http://www.borismoore.com/,我正在尝试获取每个项目的实例。有谁知道怎么做?
//render
$("divName").html(
$('#templateName').render('data')
);
//get instance. Here is my problem
$(".PriceFromPerHotel").each(function () {
selectedItem = $.tmplItem(this);
});
使用
selectedItem = $.tmplItem(this);
我收到错误消息
Object function (a,b){return new e.fn.init(a,b,h)} has no method 'tmplItem'
修改
通过添加jQuery模板库解决了no方法异常。现在的问题是我得到一个空对象。它不会返回实例。
这是我的HTML代码
<script id="templateName" type="text/x-jsrender">
<div class="resultsBox">
//lot of code has here
<p class="offerSiloPrice">{{:Currency}} <span class="PriceFromPerHotel"></span></p>
</div>
由于
答案 0 :(得分:2)
tmplItem()是jQuery模板语法。在JsRender中,等价物是$ .view()。这里有几个例子http://borismoore.github.com/jsviews/demos/index.html。您应该使用JsRender OR jQuery模板。它们具有不同的模板标签和不同的API。
在JsRender中,事物的因素与jQuery模板不同。 jQuery模板具有DOM依赖性并提供$ .tmplItem()功能。 JsRender没有DOM依赖,并且进行纯粹的基于字符串的渲染,这使得如果您不需要数据链接的情况下更快,并且您不需要$ .tmplItem()从DOM元素到它来自的渲染模板的特性。
但如果您确实需要这些功能,那么您在页面中包含JsViews,这是JsRender之上的一个层,并提供与jQuery模板等效的DOM相关功能,以及更多......
在JsViews中,tmplItem被称为&#39; View&#39;。
$(selectorOrElement).tmplItem()
jQuery模板中的对应
$(selectorOrElement).view()
在JsViews中。