2012-04-19 3 views
2

Вот установка, у меня есть шаблон усов хранится в виде строки, например, такJQuery строка синтаксический регистрирует 404

<div id="one"> 
    <span> 
     <img src="{{foo}}" /> 
    </span> 
</div> 
<div id="two"> 
    <span> 
     <img src="{{bar}}" /> 
    </span> 
</div> 

Я ее вставили в страницу, все хорошо

Но теперь я необходимо получить часть этого шаблона и повторно вставить его на страницу, проблема заключается в том, что jQuery продолжает регистрировать ошибки 404, потому что по какой-то причине пытается загрузить изображение. (Нет изображений предварительно-погрузчиков или плагиных здесь)

var newTemplate = $(Template).find('#two').html(); 

Я думал, что это будет просто работать на шпагате, но это, кажется, разбор его как фактические элементы DOM и пытается загрузить изображения ... вот ошибка от Chrome

GET http://localhost/src/%7B%7Bphoto%7D%7D 404 (Not Found) /src/js/libs/jquery.js:5952 
    jQuery.fn.extend.html /src/js/libs/jquery.js:5952 
    jQuery.extend.access /src/js/libs/jquery.js:855 
    jQuery.fn.extend.html /src/js/libs/jquery.js:5928 
    Backbone.View.extend.search /src/js/views/vote.js:39 
    jQuery.event.dispatch /src/js/libs/jquery.js:3332 
    jQuery.event.add.elemData.handle.eventHandle 

Я также попробовал несколько вариантов, как

var foo = $('<div />').html(Template).find('#isotope').html(); 

и

var foo = $('<div />').detach().html(Template).find('#isotope').html(); 

что на самом деле мне ошибок является то, что это работает нормально, если я пишу HTML я хочу простой строкой, но побеждает точку

ответ

0

Вы должны использовать отдельные строки для ваших шаблонов. Как только вы передаете строки в jQuery's $(), они превращаются в элементы DOM.

+0

Я в конечном итоге только с помощью регулярных выражений, чтобы получить часть шаблона я хотел –

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