1

underscore.js を使用していますが、 < と > に問題があり<%= name %>ます。これらは自動的に < ; に置き換えられます。と > ; これにより、コードが機能しなくなります。

私のindex.html:

<div id="underscore">
   <%= name %>
</div>

私のスクリプト:

var source   = $("#underscore").html();

var compiled = _.template(source);
var html = compiled({name: 'pepe'});
$("#underscore").html(html);

スクリプトにこの行を追加する問題を修正し(varコンパイル前)、正常に動作しました

source = source.replace("&lt;","<");
source = source.replace("&gt;",">");

私の問題を解決する他の方法はありますか?

4

1 に答える 1

4

従来<script>、JavaScript 以外の「タイプ」属性を持つタグを使用して、テンプレートを埋め込んでいました。

<script id=underscore type=text/underscore>
  <%= name %>
</script>

ブラウザーは、終了</script>タグまでのすべてを完全に無視します。.innerHTMLのとして引き続き取得できます<script>

于 2013-10-31T16:46:01.337 に答える