是否可以这样做。 ?
var html = '<div class="list-group">'+
$.each(val,function(key,value){
'value: ' + value + '<br/>'
})
+'</div>';
我期待答案是这样的:
<div class="list-group">
value: value1
value: value2
value: value3
</div>
但为什么我得到这个结果?
<div class="list-group">
[object Object],[object Object],[object Object]
</div>
任何人都可以告诉我,我在做什么是绝对错误的。
我应该如何使用代码来获得预期的结果? 谢谢!
答案 0 :(得分:3)
您重新连接调用$.each()
的结果,在jQuery的情况下,返回整个列表val
。你想要做的是调用$.map()
,它会为val
的每个项返回一系列回调结果。然后,您需要将join()
字符串放在一起。应该看起来像这样(未经测试):
var html = '<div class="list-group">'+
$.map(val,function(key,value){
return 'value: ' + value + '<br/>';
}).join()
+'</div>';
答案 1 :(得分:1)
尝试在此上下文中使用$.map()
忽略$.each()
,
var html = '<div class="list-group">';
html += $.map(val,function(key,value){
return 'value: ' + value + '<br/>'
});
html+ = '</div>';