我正在做一个与 JSON 和 JavaScript 相关的练习。但是,我只是无法弄清楚我的语法有什么问题。它应该显示 HTML 中有序列表部分的链接,但我只得到 H2 标签。
语法如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>Javascript and jason</title>
</head>
<body>
<h2>Links</h2>
<ol id="links">
</ol>
<script>
var info = {
"full_name":"Ray Villaobos",
"title" : "Staff Author",
"links" :[
{"blog":"http://iviewsource.com"},
{"facebook":"http://facebook.com/iviewsource"},
{"youtube":"http://www.youtube.com"},
{"podcast":"http://feeds.feedburer.com/authoredcontent"},
{"twitter":"http://twitter.com/planetoftheweb"}
]
};
var output = '';
for (var i=0; i <=info.links.length; i++) {
for (key in info.links[i]){
if (info.links[i].hasOwnProperty(key))
{
output +='<li>' +
'<a href ="' + info.links[i][key]+
'">' +'</a>' +
'<li>';
}
}
}
var update = document.getElementById('links');
update.innerHtml = output;
</script>
</body>
</html>
最佳答案
您没有看到任何内容,因为您有一个拼写错误。请记住,JavaScript 区分大小写。
应该是:
update.innerHTML = output;
所以使用大写的 HTML
。
但使用 appendChild
可能会更好,如下所示:
var output = '';
var update = document.getElementById('links');
for (var i = 0; i <= info.links.length; i++) {
for (key in info.links[i]) {
if (info.links[i].hasOwnProperty(key)) {
var li = document.createElement('li');
var a = document.createElement('a');
a.setAttribute('href', info.links[i][key]);
a.text = key;
li.appendChild(a);
update.appendChild(li);
}
}
}
参见Fiddle
关于Javascript/JSON 输出不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28769030/