链接jQuery.each()

时间:2012-06-20 09:17:31

标签: method-chaining jquery

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

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

如果我使用for循环而不是每个()调用function(),它可以工作,但是没有办法用each()实现这个吗?

2 个答案:

答案 0 :(得分:3)

。只需迭代一个集合,你需要一个匿名函数来返回一些东西,所以试试这个:

$("<div />").append(function(){
        var string = "":
        $.each(myObj.results, function( intIndex, objValue ){
               string += objValue.description;
            })
        return string;
    });

答案 1 :(得分: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(' ');
      });
);