繁体   English   中英

无法获取JSON对象的innerHTML

[英]Cannot get innerHTML for JSON object

以下脚本返回错误“无法读取未定义的属性'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> 

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

<script>
var nodeList='[{"NodeName":["Node1","Node2","Node3","Node4","Node5","Node6" ]}]';
obj = JSON.parse(nodeList);
document.getElementById("NodeName").innerHTML=obj[0].NodeName[1];
</script>   

看到这个jsfiddle http://jsfiddle.net/sajith/n2xE9/

您添加变量nodeList

var nodeList='[{"NodeName":["Node1","Node2","Node3","Node4","Node5","Node6" ]}]';

然后将其解析为对象。

obj = JSON.parse(nodeList);

因此,您应该使用:

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

解决的办法是像这样将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标签。 显然,这已在上一篇文章中得到解答,但是我找不到它。

谢谢大家的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM