如何获取当前项目

时间:2012-03-15 14:03:23

标签: jquery jsrender

我正在使用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>

由于

1 个答案:

答案 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中。