構建一個簡單的天氣應用程序,我得到它與一些草率的香草JS工作。這顯然是應該寫在jQuery中的東西。轉換它,我遇到了頁面4天預測部分的一些麻煩。在純JS中,我只是定位了ID,並提供了來自JSON對象的值。使用jQuery,我試圖使用$ .each遍歷現在的一系列類,並注入相同的值。
我總是最終得到相同的一系列值的元素,這對我來說沒有任何意義。當我將這些值記錄到控制檯時,它們似乎正在迭代。每天的預測顯示在控制檯中,並按順序顯示。儘管腳本似乎在迭代元素,但它們並沒有出現在它們應該包含的元素中,但出現了一些問題。
在筆中,您可以找到其他一些我嘗試過的東西,包括在循環中構建HTML元素。
$(document).ready(function(){
var url="http://api.wunderground.";
$.getJSON(url,function(response){
var current = response.current_observation;
var forecast = response.forecast.simpleforecast;
$("#city").html(current.display_location.city + ",");
$("#state").html(current.display_location.state);
$("#weather").html(current.weather);
$("#temp").html(current.feelslike_f + "\u00B0");
$("#lastUpdate").html(current.observation_time);
$.each(forecast.forecastday, function(i){
var foreshort = forecast.forecastday[i];
$(".dayName:nth-of-type(" + i + "n)").text(foreshort.date.weekday);
$(".cond:nth-of-type(" + i + "n)").text(foreshort.conditions);
$(".hi:nth-of-type(" + i + "n)").text(foreshort.high.fahrenheit);
$(".lo:nth-of-type(" + i + "n)").text(foreshort.low.fahrenheit);
console.log(foreshort.date.weekday);
console.log(foreshort.conditions);
console.log(foreshort.high.fahrenheit);
console.log(foreshort.low.fahrenheit);
console.log(i);
}); //end .each
}); //end getJSON
}); //end ready
這裏的筆: http://codepen.io/marcussacco/pen/azQLxy
*「我知道了一些馬虎香草JS工作,是很清楚的東西應該在jQuery的編寫。」 * - jQuery的肯定不是'必須'。 – GolezTrol 2015-04-04 21:08:09
所以你說'$(「。dayName:n-type-type(」+ i +「n)」)'不匹配任何元素,或者錯誤的元素?你能檢查它匹配的是什麼嗎? – GolezTrol 2015-04-04 21:11:01
顯然,它將每個元素與.dayName類相匹配,而不僅僅是該類的第n個實例。 – Marcus 2015-04-04 21:15:40