4

我正在尝试将对象的结果添加到新创建的 HTML 元素中:

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

如果我使用带有 for 循环而不是 each() 的 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 回答