4

オブジェクトからの結果を新しく作成された HTML 要素に追加しようとしています:

*long chain of newly created elements*.append(
    $("<div />").append(
        $.each(myObj.results, function( intIndex, objValue ){
            return objValue.description;
        })
    )
);

each() の代わりに for ループで function() 呼び出しを使用すると機能しますが、each() でこれを達成する方法はありませんか?

4

2 に答える 2

3

.each はコレクションを反復するだけです。何かを返すには無名関数が必要なので、これを試してください。

$("<div />").append(function(){
        var string = "":
        $.each(myObj.results, function( intIndex, objValue ){
               string += objValue.description;
            })
        return string;
    });
于 2012-06-20T09:25:45.840 に答える
2

.eachリストを反復して操作を実行するためのものです。各反復で返された要素から配列を構築する$.mapで目的を達成できます。

*long chain of newly created elements*.append(
    $("<div />").append(function(){
        var des = $.map(myObj.results, function( objValue ){
                     return objValue.description;
                  });
        return des.join(' ');
      });
);
于 2012-06-20T09:23:03.973 に答える