为什么从我的.ajax()请求输出时这些值会重复?

时间:2016-11-17 16:22:33

标签: javascript jquery json ajax

我不知道我的代码段是怎么回事。我正在尝试使用.ajax()从json请求输出值。

这行代码:

$.each(posts, function(k, v){
    $("section ul").append("<li><p>" + v.webTitle + "</p></li>");   
});

在一行中输出p标签中每个帖子的标题。所以我添加了这个来拉缩略图网址

$("section ul li").append("<p>" + v.fields.thumbnail + "</p>");     

但是,此行输出此

JSON preview

有人能告诉我:

  • 为什么会发生这种情况,而不是文字
  • 如何修改我的代码以便为每个列表项输出一个图像

1 个答案:

答案 0 :(得分:0)

我认为这应该有用

$.each(posts, function(k, v){
    var li = $("<li>"); // create single li element
    li.append("<p>" + v.webTitle + "</p><p>" + v.fields.thumbnail + "</p>"); // append to it before we lose reference to it
    $("section ul").append(li); // append it only once to the ul
});

主要想法是在您失去对它的引用之前向<li>添加更多内容。 jQuery在你的代码中做的是创建一个li,将它追加到ul,忘记它,它不会保留对它的引用。在下一行中,您再次找到<li>个元素,但是您收到了所有元素,而不是最后一个元素。