簡體   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