1

単純な問題で申し訳ありませんが、私はこの問題に本当に苦労しています

私たちのアプリケーションでは、すべてのページに多数の ajax 呼び出しがあります。jQuery ajaxを使用しています。現在、私たちが行っていることは、

like から結果を取得すると、結果を作成myresultsする関数に渡されpopulateます。

function populate(myresults)
{        
    var str='<table>';       
    for(var i in myresults){
        str+='<tr>';
        str+=myresults[i].name;
        str+='</tr>';    
    }
    str+='</table>';

    $('#divId').html(str);
}

すべての場所でテーブルを構築しているわけではありません。コードは完全に機能していますが、このようなコードの記述は正しいアプローチではないと思います。コードを美しくするにはどうすればよいですか。jQueryまたはjavascriptを使用できます。

4

4 に答える 4

0

あなたはこのようにすることができます:

function populate(myResults)
{        
    var tab = $('<table />');       
    for(var i in myResults){
      if (myResults.hasOwnProperty(i)) {
          var tr = $('<tr />');
          tr.append($('<td /'>, {text: i.name}));
          tab.append(tr);
      }
    }
    $('#divId').append(tab);
}

他の人が提案したようにテンプレートエンジンを使用することは、より優れた、より保守しやすいアプローチであるため、望ましいでしょう。

于 2013-04-29T11:51:21.323 に答える
0

たぶん、新しいDOM要素をより正確に作成しますか?

このような:

function populate(myresults)
  {        
   var str= $('<table />)';       
      for(var i in myresults){
        str.append($('<td />').text(myresults[i].name).appendTo($('<tr />')));
      }
    $('#divId').empty().append(str);
  }
于 2013-04-29T11:36:11.217 に答える