0

我正在使用 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模板库解决了无方法异常。现在的问题是我得到一个空对象。它不返回实例。

这是我的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>

谢谢

4

1 回答 1

2

tmplItem() 是 jQuery 模板语法。在 JsRender 中相当于 $.view()。这里有几个例子http://borismoore.github.com/jsviews/demos/index.html。您应该使用 JsRender 或 jQuery 模板。它们有不同的模板标签和不同的 API。

在 JsRender 中,事情的因素与 jQuery 模板中的不同。jQuery 模板具有 DOM 依赖项并提供 $.tmplItem() 功能。JsRender 没有 DOM 依赖,并且执行“纯基于字符串的渲染”,这对于不需要数据链接并且不需要 $.tmplItem() 从DOM 元素到它来自的渲染模板。

但是,如果您确实想要这些功能,那么您可以在页面中包含 JsViews,它是 JsRender 之上的一层,并提供与 jQuery 模板等效的 DOM 相关功能,等等...

在 JsViews 中,tmplItem 称为“视图”。

$(selectorOrElement).tmplItem() 

在 jQuery 模板中对应于

$(selectorOrElement).view() 

在 JsViews 中。

于 2012-03-20T02:12:46.977 回答