0

我正在尝试在列表中显示我的 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>");
     });

}

我是初学者,任何帮助将不胜感激!

4

1 回答 1

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));
    });
}
于 2013-11-03T12:04:06.010 回答