Javascript 在for each循环中向容器添加映射时出现问题。

Javascript 在for each循环中向容器添加映射时出现问题。,javascript,jquery,map,each,leaflet,Javascript,Jquery,Map,Each,Leaflet,我想为每个JSON对象的元素添加传单映射,但错误日志显示找不到映射的容器 success: $.each(json, function(i, data) { newhtml +='<div class="info">'+data.info+'</div>=<div class="story_map" id=story_map'+data.post_id+'></div>'; var container = "stor

我想为每个JSON对象的元素添加传单映射,但错误日志显示找不到映射的容器

 success:
 $.each(json, function(i, data) {
 newhtml +='<div class="info">'+data.info+'</div>=<div class="story_map" id=story_map'+data.post_id+'></div>';

            var container = "story_map"+data.post_id;
            var map = L.map(container, {scrollWheelZoom:false,dragging:false}).setView([50, 50], 3);
            L.tileLayer('http://{s}.tile.cloudmade.com/4bf7e7a40966461892sdfafac6eb4838/997/256/{z}/{x}/{y}.png', {
            maxZoom: 18
            }).addTo(map);
 }

 $('#stream').append(newhtml);
成功:
$.each(json,函数(i,数据){
newhtml+=''+data.info+'=';
var container=“story\u map”+data.post\u id;
var map=L.map(容器,{scrollWheelZoom:false,drawing:false});
L.tileLayer('http://{s}.tile.cloudmake.com/4bf7e7a40966461892sdfafac6eb4838/997/256/{z}/{x}/{y}.png'{
最大缩放:18
}).addTo(地图);
}
$('#stream').append(newhtml);

我做错了什么以及如何修复它?

您正在声明
newhtml
方法以包含新的div,但直到稍后才将其实际添加到页面-在您将其添加到页面之前,您尝试初始化映射。因此基本上移动
$('#stream')。append(newhtml);
在您的代码中添加到
newhtml
之后,只需执行以下操作,而不是将newhtml附加在一起

 newhtml ='<div class="info">'+data.info+'</div>=<div class="story_map" id=story_map'+data.post_id+'></div>';
newhtml=''+data.info+'=';