我在移动设备上动态显示内容时遇到问题。
我想通过以下代码写出带有值的列表:
$.each(mapdata, function(index, value){
//alert(index + ': ' + value.jmeno+value.lat+value.lng);
//document.write(value.jmeno);
//GET CURRENT GPS COORDS
//onLoad();
//GET CURRENT GPS COORDS
try {
//alert("SUCCESS");
$("ul").append("<li><img width=\"80px\" src=\"http://static.akcniceny.cz/" + value.img + "\"/><h3><a href=\"" + value.jmeno + "\">" + value.jmeno + "</a></h3><p>" + value.akcnicena + " Kč</p><p>" + value.pjmeno + "</p><div class=\"shop-distance\"></div><div id=\"lat\">" + value.lat + "</div><div id=\"lng\">" + value.lng + "</div></li>");
}
catch (err) {
alert("ERROR BY WRITEOUT");
}
});
$('ul').listview('refresh');
在桌面浏览器上一切正常,在移动设备上我尝试了捕获错误,但没有。似乎一切正常,但我只看到空白的白页?
答案 0 :(得分:1)
它不起作用的原因如下:在完成添加内容之前,列表会刷新。根据我的经验,将所有元素添加到列表的最佳方法是执行类似
的操作var appendString;
$.each(data, function(index, value) {appendString = appendString + whatever});
$("ul").append(appendString);
$("ul").listview('refresh');
这样你也不会在$ .each的每次传递中调用$。你现在这样做的方式计算成本很高。是的,请接受。我是新手,可以使用代表:)。谢谢。