我正在使用for ... in循环获取json数据。循环有效,但只显示一组数据。
这是我正在使用的一段代码...
for (var prop in props) {
document.querySelector(propSelects[prop]).innerHTML = list[i][prop];
};
这是整个功能:
lists.open('GET', 'js/data.json', true)
lists.onload = function() {
var list = JSON.parse(this.response);
for (var i = 0; i < 10; i++) {
props = {
titles: 'a.title',
descs: '.desc',
};
for (prop in props) {
document.querySelector(props[prop]).innerHTML = list[i][prop];
};
}
}lists.send();
它应该循环10次,但似乎只产生一组数据。我知道For ... in循环存在问题,但我似乎不知道该怎么办。顺便说一下,我是新手。谢谢。
答案 0 :(得分:0)
您需要在html中添加data属性,以便您的选择器选择正确的DOM元素。调用document.querySelector(props[prop]).innerHTML
时,您总是在修改相同的元素,这是第一个元素,因此您的html需要像data-index
这样的属性,然后您也可以对其进行查询。
或使用innerHTML += ...