【发布时间】:2019-04-05 19:38:40
【问题描述】:
我有简单的 Ajax 代码,解析 Json 数据并在里面填充动态 div。当我想动态获取getElementById 时遇到问题。
我的键数组返回成功 = ["blue","red","etc"..] 我有蓝色数据、红色数据、等数据 div id。
<div id="blue-data">myblue</div>
<div id="red-data">myred</div>
<div id="etc-data">myetc</div>
我的代码如下:
success: function(data) {
Object.keys(data).forEach(function(key,index) {
console.log(document.getElementById(''+key+'-data').innerHTML);
});
});
当我跑步时:
console.log(document.getElementById(''+key+'-data').innerHTML);
线
Error
null is not an object (evaluating 'document.getElementById(''+key+'-data').innerHTML')
但在控制台中,输出是;
myblue
myred
myetc
我该如何解决这个问题?我想在值中使用键数据 div。
【问题讨论】:
-
Object.keys用于对象,而不是数组。 -
仅供参考,
''+在这种情况下毫无用处 -
@epascarello 我删除了同样的错误。
-
失败的关键是什么? console.log(key),我猜是其中之一不存在
-
@JuanCaicedo No.
.forEach()参数是key和index。data是 OP 试图循环的内容,但这是一个不正确的循环。
标签: javascript html