Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 来自Object.keys的getElementById(数据)_Javascript_Html - Fatal编程技术网

Javascript 来自Object.keys的getElementById(数据)

Javascript 来自Object.keys的getElementById(数据),javascript,html,Javascript,Html,我有简单的Ajax代码,解析Json数据并在其中填充动态div。当我想动态获取getElementById时,我遇到了问题 我的密钥数组成功返回=[蓝色、红色等..] 我有蓝色数据、红色数据等数据div id <div id="blue-data">myblue</div> <div id="red-data">myred</div> <div id="etc-data">myetc</div> 当我跑步时,我给出: co

我有简单的Ajax代码,解析Json数据并在其中填充动态div。当我想动态获取getElementById时,我遇到了问题

我的密钥数组成功返回=[蓝色、红色等..] 我有蓝色数据、红色数据等数据div id

<div id="blue-data">myblue</div>
<div id="red-data">myred</div>
<div id="etc-data">myetc</div>
当我跑步时,我给出:

console.logdocument.getElementById+key+'-data.innerHTML

线

但在控制台中,输出是

myblue
myred
myetc

我怎样才能解决这个问题?我想使用key data div来获取内部值。

如果您返回的数据是一个数组,正如您所说,那么这不是您应该使用的,因为它用于迭代对象的属性键。如果您只有一个数组,请直接在其上循环:

//这只是模拟“success”处理程序参数的结果: 让数据=[蓝色、红色等]; //这将在success回调函数中 data.forEachfunctionitem{ console.logdocument.getElementByIditem+'-data'.textContent; }; 我的蓝色 myred
MyeTObject.keys用于对象,而不是数组。仅供参考,在这种情况下+是无用的context@epascarello我删除的是同一个错误。它在哪个键上失败?console.logkey,我猜其中一个没有exist@JuanCaicedo不是。forEach参数是键和索引。数据是OP试图循环的内容,但这是一个不正确的循环。dude您的示例正在工作,但在我的代码中说:找不到变量:result,当我将result更改为key时,给出;key.forEach不是一个函数。在'key.forEachfunctionkey{console.logdocument.getElementByIdkey+'-data.textContent;}'中,'key.forEach'是undefined@SwiftDeveloper在我的示例中,我将变量命名为result。当然,您需要修改名称以匹配代码。在代码中,使用data.forEach.says data.forEach不是函数。在'data.forEachfunctionitem{console.logdocument.getElementByIditem+'-data.textContent;}'中,'data.forEach'是undefined@SwiftDeveloper那么你实际上没有你在问题中所说的数组。在成功处理程序中添加console.logdata作为第一行,并告诉我们它报告了什么。他所说的数组是Object.keydata。。。。。如果它是循环和出错,那么它工作得很好。问题是其中一个键不在DOM中,他必须调试它。实际上我们无能为力。
Error

null is not an object (evaluating 'document.getElementById(''+key+'-data').innerHTML')
myblue
myred
myetc