2

ユーザープロファイルのユーザー名、場所、概要などを表示するhtmlページがあります。jqueryでajaxを使用して値を取得しています。取得した値を DOM に割り当てる方法について質問があります。

最初の方法は、データを取得するまで待機してから、dom を動的に作成し、ターゲット div に追加することです

 $.ajax({
     url: "profiledata",
     type: "POST",
     success:function(data){
         $("<div><label>"+data.name</label><br/>
          <label>"+data.place</label></div>").appendTo("target div");
     }

このメソッドでは、文字列の追加がさらに発生するため、プロセスによって消費されるメモリについて疑問があります。

2 番目の方法は、id を使用して値を割り当てるだけです。

 $.ajax({
     url: "profiledata",
     type: "POST",
     success:function(data){
          $("#uname").text(data.name);
          $("#place").text(data.place);
     }

 <div><label id="uname"></label><br/>
<label id="place"></label></div>

ページの読み込みに関して効率的なのはどれですか。つまり、より軽いコードとページです。いくつかの書き込みアプローチについて言及しましたか? またはいくつかのより良い解決策がありますか?

4

2 に答える 2

1

DOM を繰り返し操作すると、オーバーヘッドが発生することがよくあります。その観点からは、最初の方法の方が適しているように思われます。ajax 呼び出しの速度に関する限り、データは両方のメソッドで同じ方法で取得され.ajaxStart()ます.ajaxStop()

于 2013-05-02T16:03:10.303 に答える
1

ユース ケースに応じて、どちらのソリューションにも長所と短所があります。

最初の方法:

  • 必要になるまで要素をロードしません
  • ただし、ページ上の要素を変更するのではなく、メモリ内に要素を作成する JQuery もあります。

2 番目の方法:

  • 要素を作成していないため、js で html を探していないため、マークアップの変更が少し簡単になります。
  • ユーザーに要素を見せたくない場合は、要素を非表示にすることを忘れないでください。

どの方法を使用するかは、さまざまな要因によって異なります。一般に、マークアップを変更したいときに JavaScript を調べていないので、2 番目の方法を好みます。

于 2013-05-02T16:04:39.680 に答える