我正在使用HTML onclick事件来调用一个函数,该函数将读取包含JSON语法的Javascript字符串并输出结果,但仅显示最后一个结果.
var resorts = '{ "skiResorts" : [' +
'{ "resortName":"Afton Alps" , "resortState":"Minnesota" },' +
'{ "resortName":"Alpine Way" , "resortState":"Pennsylvania" },' +
'{ "resortName":"Alyeska" , "resortState":"Alaska" } ]}';
var obj = JSON.parse(resorts);
function displaySkiResorts() {
//code
for (i = 0; i < obj.length; i++) {
document.getElementById("req8").innerHTML = obj.skiResorts[i].resortName + " " + obj.skiResorts[i].resortState;
}
}
为什么这不能显示整个滑雪胜地?
解决方法:
我将数组长度obj.skiResorts.length的访问权限更改为正确,将赋值更改为=并添加了一个换行符< br>.
var resorts = '{ "skiResorts" : [' +
'{ "resortName":"Afton Alps" , "resortState":"Minnesota" },' +
'{ "resortName":"Alpine Way" , "resortState":"Pennsylvania" },' +
'{ "resortName":"Alyeska" , "resortState":"Alaska" } ]}';
var obj = JSON.parse(resorts);
function displaySkiResorts() {
for (i = 0; i < obj.skiResorts.length; i++) { // obj.skiResorts.length right array
document.getElementById("req8").innerHTML += obj.skiResorts[i].resortName + " " + obj.skiResorts[i].resortState + '
'; // += and
}
}
displaySkiResorts();
标签:javascript,json
来源: https://codeday.me/bug/20191012/1900201.html