Javascript 将段落替换为JSON中的城市名称
在构建天气应用程序时,我遇到了一个问题。它必须自动检测我们的位置,并提供适当的温度和位置,例如城市名称。我试图用JSON中的数据替换p。我特别想用一个城市的名字来代替段落。由于某种原因,它不起作用 这是我的HTML:Javascript 将段落替换为JSON中的城市名称,javascript,jquery,html,json,Javascript,Jquery,Html,Json,在构建天气应用程序时,我遇到了一个问题。它必须自动检测我们的位置,并提供适当的温度和位置,例如城市名称。我试图用JSON中的数据替换p。我特别想用一个城市的名字来代替段落。由于某种原因,它不起作用 这是我的HTML: <body> <div class="container-fluid"> <i class="fa fa-thermometer-empty fa-2x" aria-hidden="true"></i> <
<body>
<div class="container-fluid">
<i class="fa fa-thermometer-empty fa-2x" aria-hidden="true"></i>
<br><br><br>
<form>
<input type="radio" name="celsiusOrFahrenheit" value="fahrenheit"> Fahrenheit °F;<br>
<input type="radio" name="celsiusOrFahrenheit" value="celsius" checked> Celsius °C<br>
</form>
<div class="yourlocation">
<h1>Your location is: </h1>
<p class="yourLocationGoesHere">
</p>
</div>
<h1>Your current weather is: </h1>
<div class="showTemperature">
<p class="showDegree">32</p>
</div>
</div>
</body>
请提供帮助。
数据是指您的json文档,因此应该是:
html += "<p>'" + data.name + "'</p>";
html+=”“+data.name+””;
len
变量只保存长度;) 您试图获取JSON长度的城市名称,这是错误的。简单地做:
data.name
这是有效的解决方案。希望有帮助
$(document).ready(function(){
$.getJSON("http://api.openweathermap.org/data/2.5/weather? q=London,uk&appid=7f5806c8f3fd28b03e2d6580a50732d6", function (data){
var len = data.length;
var html = "";
html += "<p>'" + data.name + "'</p>";
$(".yourLocationGoesHere").html(html);
});
});
$(文档).ready(函数(){
$.getJSON(“http://api.openweathermap.org/data/2.5/weather? q=英国伦敦&appid=7f5806c8f3fd28b03e2d6580a50732d6“,功能(数据){
var len=data.length;
var html=“”;
html+=“”+data.name+“”;
$(“.yourlocationgoesher”).html(html);
});
});
这里有一个bug:html+=“”+len.name+””
它应该是html+=“”+data.name+””代码>但是要注意,除了一个明显的数据错误之外,您的代码生成了一个错误的、无效的html,其中一个
元素包含另一个
元素。您应该单独使用$('.yourlocationgoesher').text(data.name)
,而不是处理.html
的两行代码。非常感谢。非常感谢。我认为他们是出于时尚的考虑。谢谢你,亨利,但费边早些时候给出了答案。非常感谢!
html += "<p>'" + data.name + "'</p>";
$(document).ready(function(){
$.getJSON("http://api.openweathermap.org/data/2.5/weather? q=London,uk&appid=7f5806c8f3fd28b03e2d6580a50732d6", function (data){
var len = data.length;
var html = "";
html += "<p>'" + data.name + "'</p>";
$(".yourLocationGoesHere").html(html);
});
});