我正试图在列表中显示我的json的所有元素。
我有一个包含我所有数据的var“json”。
我真正想要的是显示如下数据:
<ul>
<li>title + "of the first element"</li>
<li>title + "of the second element"</li>
<li>title + "of the third element"</li>
</ul>
每当我尝试使用简单的“for”时,它只显示最后一个元素。
我认为最接近的解决方案就是:
function displayJson(){
$.each(json, function(key, value) {
$(this).html("<li>" + json[key].title + "</li>");
});
}
我是初学者,非常感谢任何帮助!
答案 0 :(得分:1)
在您提供$.each
的函数中,this
将是json
对象中条目的值,而不是DOM元素,因此您无法生成输出那样。
假设json
引用包含对象的对象,每个对象都具有title
属性,则:
var $ul = $("some selector for the list");
var json = /*...wherever you're getting the object from... */;
displayJson($ul, json);
function displayJson($ul, json) {
$ul.empty(); // If it might have something in it
$.each(json, function(key, value) {
$ul.append($("<li>").html(value.title));
});
}