В шаблонах jQuery я пытаюсь использовать тег шаблона {{wrap}}, чтобы обернуть результаты другого шаблона. Этот второй шаблон отображает простой текст, а не HTML. В настоящее время я получаю пустую строку, в которой я ожидаю получить простой текст, отображаемый в обернутом шаблоне.
Если я окружаю простой текст некоторыми элементами HTML, например тегом <div>
, то все работает нормально, но в результаты выводится <div>
. Было бы неплохо создать фиктивный тег вокруг моего содержимого, чтобы тег {{html}} работал, но я не хотел бы, чтобы он отображался в отображаемых результатах.
Я также хочу использовать эту же оболочку, если возможно, чтобы обернуть шаблоны, которые на самом деле также генерируют HTML, так что было бы хорошо, если бы один и тот же шаблон оболочки мог работать в обоих случаях.
Вот мой код:
$("#x").html($("#myTmpl").tmpl());
<div id="x" />
<script id="myTmpl" type="text/x-jquery-tmpl">
The following wraps some non-HTML content: {{wrap "#wrapper"}} help {{/wrap}}
</script>
<script id="wrapper" type="text/x-jquery-tmpl">
<table>
<tbody>
<tr>
<td>
Wrapped content: {{html $item.html}}
</td>
</tr>
</tbody>
</table>
</script>
Этот код можно найти на jsFiddle: http://jsfiddle.net/bernardchen1/BYdeg/