我的代碼有一些「奇怪」的問題。這主要是西班牙語,但我相信你會得到。爲什麼變量超出範圍?
$('#favoritos').live('pagecreate',function(event){
var favoritos = false;
var fav_bus = '';
var fav_bici = '';
if (!isLocalStorageAvailable()) // Si no hay Local Storage para qué queremos entrar aqui
$.mobile.changePage('#errorFavoritos', { transition: "pop" });
else{
$.each(localStorage, function(index){
var itemKey = localStorage.key(index);
if (itemKey.indexOf('fav')){ // Si es un favorito
var splitted = itemKey.split('-');
var tipo = splitted[0];
var numero = splitted[2];
favs_locales[itemKey] = {
'numero' : numero,
'id' : itemKey
};
if (tipo == 'bus'){
favoritos = true;
fav_bus = '<div data-role="collapsible>' +
'<h3>Parada ' + numero+ '</h3>' +
'<ul data-role="listview" data-inset="true" id="'+itemKey+'">';
pedirTiempos(numero).pipe(formatearTiempos).done(function(html){
fav_bus += html + '</ul></div>';
});
}
}
});
// Ya tenemos los datos formateados
console.log(fav_bus);
if (fav_bus != ''){
$('#contentFavoritos').append(
'<h3 style="text-align: center;">Paradas de Bus</h3>' +
'<div data-role="collapsible-set">' +
fav_bus +
'</div>');
}
}
});
問題來自於這樣的功能:
pedirTiempos(numero).pipe(formatearTiempos).done(function (html) {
fav_bus += html;
});
的變化(功能)後fav_bus
也沒關係,但只是功能後console.log(fav_bus)
,它是錯誤的。這就像它在功能中沒有改變。
我試過返回html
,但它輸出的是[Object, object]
(作爲字符串)。
任何提示?
編輯:
我試圖將其存儲到一個時間的DOM元素和它的好,但我不能夠輸出HTML(雖然它的存在)。
pedirTiempos(numero).pipe(formatearTiempos).done(function(html){
fav_bus += html + '</ul></div>';
$('#busTemp').html(fav_bus);
});
if ($('#busTemp').length > 0){
console.log($('#busTemp').html());
輸出什麼都沒有!
我已經改變了我的代碼封裝成一個各一個,而不是爲它打破了異步部分,並試圖安慰。日誌和它的工作,但仍然沒有運氣在這裏。我必須執行一些不同類型的操作,然後根據我得到的結果輸出不同的東西...更新代碼btw –
當我循環訪問localStorage時,索引真的很需要。我需要收集信息,然後,如果我有他們,展示他們,如果沒有,展示另一件事。 –
然後,你應該能夠保持代碼原樣(即,不要把它改成'for ... in')。 –