[英]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.