我正在寫一個簡單的天氣應用程序,並堅持使用for循環。這個想法是獲得一小部分地點的天氣,並將每個預測加載到它自己的div中。這裏是到目前爲止的代碼:嵌套循環和新的子元素
$(function() {
var z = ["location ID1", "location ID2", etc.];
var n = ["location name1", "location name2", etc];
for (j = 0; j<z.length; j++) {
weatherQuery = 'SELECT * FROM rss WHERE url="http://xml.weather.yahoo.com/forecastrss/' + z[j] + '_c.xml"';
$('#weatherData').append($('<div/>', {id: 'c' + j}));
$('#c' + j + '').append('' + n[j] + '');
var weatherUrl = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent(weatherQuery) + '&format=json';
$.getJSON(weatherUrl + '&callback=?', function (data) {
var weatherForecasts = data.query.results.item.forecast;
for (i=0; i<weatherForecasts.length; i++) {
var code = weatherForecasts[i].code;
$('#c' + j + '').append('<table style = border:none><tr><td class = weather-date>' + weatherForecasts[i].day + '</td><td class = weather-icon style = background-position:-' + (61 * code) + 'px 0px></td><td class = weather-min>' + weatherForecasts[i].low + '°</td><td class = weather-max>' + weatherForecasts[i].high + '°</td></tr></table>');
}
});
}
});
至於我可以告訴螢火蟲,第一部分工程 - 正確的氣象數據被檢索和父DIV正在創建新的div。正確的位置名稱也被附加到每個新的div。如果它跌倒了將天氣數據附加到每個div。在第二個(最後一個)附加語句中標識子div的正確方法是什麼,以便每個div都有一個迭代的天氣數據解析循環?謝謝。
謝謝!這是有效的(並且是一個寶貴的教訓) - 我只需做出2個改變:1.在ajax函數的末尾添加一個'}',並將'div.html(table)'切換爲'div.append(表)'以避免在裝載json數據時刪除名稱。 – sideroxylon