我在 js 中有一个函数,它循环遍历由 google distancematrix api 返回的每个团队的旅行持续时间。
我可以从这个循环中获取我需要的数据,但是我在成功地将这些数据传递给我的命名 div 时遇到了问题。
所以我有三个团队,AAMG、tturbo 和 thor。我将这些声明在一个名为 team 的数组中。这些团队中的每一个都有一个以他们命名的 div。
如果我声明他们的 getElementById 并发出警告,它告诉我我的函数中确实有它们可用。如果我然后弹出一个警报以确保我的团队和持续时间值匹配,它会返回我所期望的:为每个团队匹配不同的持续时间。
如果我然后尝试将其写入命名的 div,我会在浏览器控制台中不断收到以下错误。
'未捕获的类型错误:无法读取 null 的属性'innerHTML''
谁能指出我做错的方向?
JS功能:
function callback(response, status) {
if (status != google.maps.DistanceMatrixStatus.OK) {
alert('Error was: ' + status);
} else {
var origins = response.originAddresses;
var destinations = response.destinationAddresses;
var AAMG = document.getElementById('AAMG');
//alert(aamg);
var tturbo = document.getElementById('tturbo');
//alert(tt);
var thor = document.getElementById('thor');
//alert(thor);
var teamsbyname = "AAMG, thor, tturbo";
var team = teamsbyname.split(',');
for (var i = 0; i < origins.length; i++)
{
//var teams=team[i];
//alert(teams);
var results = response.rows[i].elements;
document.getElementById(team[i]).innerHTML += results[i].duration.text;
//alert('Team: ' + team[i] + '. Time to Monaco: ' + results[i].duration.text);
}
}
}
HTML:
<body>
<div class="container">
<div id="googleMapLS" >
</div>
<div id="updatesRS">
<ul>
<h3>Team Anti-AMG:</h3>
<p>Time to Monaco: </p>
<div id="AAMG"></div>
<p></p>
<h3>Team Thor:</h3>
<p>Time to Monaco: </p>
<div id="thor"></div>
<p></p>
<h3>Twin Turbo:</h3>
<p>Time to Monaco: </p>
<div id="tturbo"></div>
<p></p>
<p></p>
<div id="closest"></div>
<h2>Team Anti-AMG are in the lead!!</h2>
<p><button type="button" onclick="calculate();">Calculate distances</button></p>
</ul>
</div>
</div>
</body>