0

必要になるまでレンダリングされない html を、ページの読み込み時にレンダリングせずに生の html コードを保持できるタグ内に保存するか、後で使用するために php または jquery 変数内に保存したいと考えています。次に、ボタンのクリック時に HTML を DOM に挿入してレンダリングできるようにしたいと考えています。

文字コードを使用せずに < および > 文字を含むhtmlコードを格納できるため、xmpタグ内に格納しようとしましたが、DOMに挿入しようとすると、更新されたソースはコピーされたことを示しますが、画面にレンダリングしません。また、コードタグ内に保存しようとしましたが、これはデスクトップブラウザーでは機能しましたが、モバイルサファリでは機能しませんでした. これは webapp モバイル ブラウザの互換性が重要であるためです。

これを行う良い方法を知っている人はいますか?

4

2 に答える 2

1

または<script>のタイプのタグを試してください:text/plaintext/html

<script type="text/plain" id="example">
  <div class="example">
    <h2>Hello</h2>
    <p>World</p>
  </div>
</script>

$(".button").click(function () {
  var html = $("#example").text();
  $("#destination").html(html);
});
于 2012-08-19T19:44:52.590 に答える
1

問題のコンテンツをどこで生成するかによって異なります。サーバー側で生成する方がセットアップが簡単な場合は、cssこれらの部分 ( などdisplay:none) を非表示にして css プロパティを削除するか、javascript でノードを取得して、次のように別の場所に配置することができます。

$('.target').html($('.hidden_node').html());

js 側でコンテンツを生成したい場合は、それを長い文字列として作成してターゲットに押し込むか、次のようなjquery のノード生成構文を使用できます。

 $('<div />').attr({
   class: 'test'
 }).appendTo("body");

または、 mustachehandlebarsなどのさまざまな JavaScript テンプレート ソリューションのいずれかを使用できます。

于 2012-08-19T19:41:56.367 に答える