Доступ к тексту / содержанию шаблона в javascript - PullRequest
3 голосов
/ 04 июня 2011

Я пытаюсь получить доступ к html-содержимому блока скрипта с типом, установленным в «text / template».Я слышал о шаблонных движках, использующих такие теги, но мое приложение очень простое и загрузка всего движка не нужна.Может кто-нибудь пролить свет на то, как я выбираю этот элемент?Я думаю, что функция jhuery .html () получит мне содержимое, но я не могу найти элемент.

Шаблон выглядит так:

<script type="text/template" id="repeating-form-section-template">
  <div class="repeating-form-section">
    <label>Field Name:</field>
    <input type="text" value="default value" name="field_name" />
  </div>
</script>

То, что я пробовал

getElementById('repeating-form-section-template');
$('script').filter(...);
$('#repeating-form-section-template');
$("script[type='text/template']");

Спасибо!

Ответы [ 3 ]

3 голосов
/ 04 июня 2011

Оба:

 $('#repeating-form-section-template');
 $("script[type='text/template']");

Работает нормально.Обязательно проверяйте их после загрузки DOM.Пример: http://jsfiddle.net/niklasvh/VKqPX/

1 голос
/ 04 июня 2011

Это должно быть так просто:

http://jsbin.com/evozi5/edit

Для предварительного просмотра: http://jsbin.com/evozi5/

Код такой просто:

var someVar = $('#repeating-form-section-template').html();

$('#where-i-want-content').append(someVar);

Примечание

jQuery должен быть загружен до , это будет работать.Итак:

<script src="jquery.js"></script>
<script> /* your code */ </script>
<script type="text/template"></script>
0 голосов
/ 04 июня 2011

innerHTML обычно считается плохой вещью, но здесь она идеально подходит:

var template = document.getElementById("repeating-form-section-template").innerHTML;

document.getElementById('where-you-want-the-content').innerHTML = template;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...