Javascript 无法获取JSON对象的innerHTML

Javascript 无法获取JSON对象的innerHTML,javascript,html,Javascript,Html,以下脚本返回一个错误,无法读取undefined的属性“1”,但我可以在Chrome控制台中读取该对象。我还尝试了obj[0].NodeName[1],它在Chrome控制台中显示值,但错误表明它无法将innerHTML属性设置为null 将JSON元素读入HTML的正确语法是什么 <script> var nodeList='[{"NodeName":["Node1","Node2","Node3","Node4","Node5","Node6" ]}]'; obj = JSON.

以下脚本返回一个错误,无法读取undefined的属性“1”,但我可以在Chrome控制台中读取该对象。我还尝试了obj[0].NodeName[1],它在Chrome控制台中显示值,但错误表明它无法将innerHTML属性设置为null

将JSON元素读入HTML的正确语法是什么

<script>
var nodeList='[{"NodeName":["Node1","Node2","Node3","Node4","Node5","Node6" ]}]';
obj = JSON.parse(nodeList);
document.getElementById("NodeName").innerHTML=obj.NodeName[1];
</script>   
NODE Name: <span id="NodeName"></span><br> 
看到这个了吗

请参阅此JSFIDLE,您可以添加变量nodeList

然后将其分配给对象

obj = JSON.parse(nodeList);
因此,您应该使用:

document.getElementById("NodeName").innerHTML=obj[0].NodeName[1];
您可以添加变量nodeList

然后将其分配给对象

obj = JSON.parse(nodeList);
因此,您应该使用:

document.getElementById("NodeName").innerHTML=obj[0].NodeName[1];

脚本在文档加载完成之前运行,并且文档中还不存在NodeName元素。
在onload事件处理程序中运行脚本,或将脚本元素移动到span之后。

脚本在文档完成加载之前运行,文档中还不存在NodeName元素。
在onload事件处理程序中运行脚本,或将脚本元素移到span之后。

解决方案是将span标记放在脚本上方,就像这样

NODE Name: <span id="NodeName"></span><br> 

<script>
var nodeList='[{"NodeName":["Node1","Node2","Node3","Node4","Node5","Node6" ]}]';
obj = JSON.parse(nodeList);
document.getElementById("NodeName").innerHTML=obj[0].NodeName[1];
</script>   
我已经尝试过使用上面的脚本语法,但是在脚本之前移动span标记是解决问题的方法。显然这已经在以前的帖子中得到了回答,但我找不到


谢谢大家的帮助。

解决方案是将span标记放在脚本上方,如下所示

NODE Name: <span id="NodeName"></span><br> 

<script>
var nodeList='[{"NodeName":["Node1","Node2","Node3","Node4","Node5","Node6" ]}]';
obj = JSON.parse(nodeList);
document.getElementById("NodeName").innerHTML=obj[0].NodeName[1];
</script>   
我已经尝试过使用上面的脚本语法,但是在脚本之前移动span标记是解决问题的方法。显然这已经在以前的帖子中得到了回答,但我找不到


谢谢大家的帮助。

console.logobj将向您展示真正的结构。您可能需要obj[0]['NodeName'][1]听起来NodeName不存在。在重复的问题中找到了答案的可能重复项。您也是正确的。console.logobj将向您展示该结构的真正含义。您可能需要obj[0]['NodeName'][1]听起来NodeName不存在。在重复的问题中找到了答案的可能重复项。你也是对的。虽然你没有被否决,但你的回答并没有解决我的问题。它在JSFIDLE中运行良好,但在我的网页上不起作用。我已经试过了问题中提到的完全相同的脚本。问题实际上是由于span标记相对于脚本的位置。虽然没有被否决,但您的回答并没有解决我的问题。它在JSFIDLE中运行良好,但在我的网页上不起作用。我已经试过了问题中提到的完全相同的脚本。问题的真正原因是span标记相对于脚本的位置。在span标记之后移动脚本元素解决了问题。在span标记之后移动脚本元素解决了问题。