Tell us what’s happening:
My code appears to be functioning as expected, but I am failing tests 19-23.
Your code so far
<!-- file: index.html -->
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Weather App</title>
</head>
<body>
<span id="weather-info">
<img id="weather-icon" />
<div id="main-temperature"></div>
<div id="feels-like"></div>
<div id="humidity"></div>
<div id="wind"></div>
<div id="wind-gust"></div>
<div id="weather-main"></div>
<div id="location"></div>
</span>
<select id="city-select">
<option value="" selected></option>
<option value="new york">New York</option>
<option value="los angeles">Los Angeles</option>
<option value="chicago">Chicago</option>
<option value="paris">Paris</option>
<option value="tokyo">Tokyo</option>
<option value="london">London</option>
</select>
<button id="get-weather-btn">Get Weather</button>
<script src="script.js"></script>
</body>
</html>
/* file: styles.css */
/* file: script.js */
let citySelect = document.getElementById("city-select");
let btn = document.getElementById("get-weather-btn");
let weatherIcon = document.getElementById("weather-icon");
let mainTemp = document.getElementById("main-temperature");
let feelsLike = document.getElementById("feels-like");
let humidity = document.getElementById("humidity");
let wind = document.getElementById("wind");
let windGust = document.getElementById("wind-gust");
let weatherMain = document.getElementById("weather-main");
let local = document.getElementById("location");
async function getWeather(city) {
try {
let response = await fetch(`https://weather-proxy.freecodecamp.rocks/api/city/${city}`);
let data = await response.json();
return data;
} catch (error) {
console.log(error);
}
}
async function showWeather() {
try {
if (citySelect.value === "") {
return;
}
let data = await getWeather(citySelect.value);
weatherIcon.src = data.weather[0].icon;
mainTemp.textContent = data.main.temp === undefined ? "N/A" : data.main.temp;
feelsLike.textContent = data.main.feels_like === undefined ? "N/A" : data.main.feels_like;
humidity.textContent = data.main.humidity === undefined ? "N/A" : data.main.humidity;
wind.textContent = data.wind.speed === undefined ? "N/A" : data.wind.speed;
windGust.textContent = data.wind.gust === undefined ? "N/A" : data.wind.gust;
weatherMain.textContent = data.weather.main === undefined ? "N/A" : data.weather.main;
local.textContent = data.name === undefined ? "N/A" : data.name;
} catch (error) {
alert("Something went wrong, please try again later");
}
}
btn.addEventListener("click", showWeather)
Your browser information:
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
Challenge Information:
Build a Weather App - Build a Weather App