我正在尝试将对象的结果添加到新创建的HTML元素中:
*long chain of newly created elements*.append(
$("<div />").append(
$.each(myObj.results, function( intIndex, objValue ){
return objValue.description;
})
)
);
如果我使用for循环而不是每个()调用function(),它可以工作,但是没有办法用each()实现这个吗?
答案 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(' ');
});
);