1

jQuery load() メソッドを使用して、別の html を自分の Web ページに送信しています。読み込まれている html には、Javascript で生成された HTML が含まれています。

この関数を使用してhtmlをロードします:

$(document).ready(function(){
    $("img#links").click(function(){
      $("div#content").load("links.html");
    });
  });

links.html には以下が含まれます。

<h1 id="content">Links</h1>
<br>
<script>add_link("http://google.com");</script>

add_link 関数はテーブルを生成します:

var add_link = function(link) {
  document.write("<table border=\"0\" width=\"100%\" height=\"50\" id=\"link\">");
  document.write("<tr>");
  document.write("<td width=\"50\"><img src=\"img/star.png\" /></td>");
  document.write("<td><a href=\"" + link + "\"><div class=\"link\">" + link + "</div></a></td></tr></table>");
}

ただし、js によって生成されたコードを Web ページに書き込む代わりに呼び出されると、JS によって生成されたテーブルのみを含む空白のページに書き込まれます。

4

1 に答える 1

1

ページの読み込みが完了した後に呼び出すとdocument.write()(ここでは間違いなくそうです)、ブラウザーは元のページを消去します。つまり、ブラウザーは、ページが完了した後の呼び出しを、空白のページで「最初からやり直す」という暗黙の要求であると解釈します。

を使用する代わりに、document.write()DOM API を使用して新しいコンテンツをページに追加できます。

于 2012-09-08T20:39:15.767 に答える