2012-03-15 3 views
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' 

EDIT

решала не исключение метода добавив библиотеку шаблонов 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> 

Благодаря

+0

try 'selectedItem = $ .tmplItem ($ (this));' или 'selectedItem = $ (this) .tmplItem();' – mgraph

+0

Я пробовал, но ничего не изменилось. Я получаю ошибку для обоих способов [Функция объекта (a, b) {return new e.fn.init (a, b, h)} не имеет метода 'tmplItem'] – StrouMfios

+0

вы могли скачать плагины (http: //github.com/jquery/jquery-tmpl) и называть его на вашей странице – mgraph

ответ

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, и обеспечивает эквивалентные связанные DOM функции JQuery Шаблоны и многое другое ...

В JsViews tmplItem называется «View».

$(selectorOrElement).tmplItem() 

в шаблонах JQuery соответствует

$(selectorOrElement).view() 

в JsViews.

Смежные вопросы