【发布时间】:2017-05-14 12:40:12
【问题描述】:
我正在尝试从我的数据库中获取一个数组,然后针对该数组中的特定项目,将其放入一些 HTML 并让它在浏览器中呈现。在我的代码中,alert(v.displayName) 将遍历我集合中的所有“displayName”。但是,当我将它放入 html 元素时,它只会打印出数组中的最后一项。如果我输入 return false $('.commentsForTheWin') 那么它只会打印出我数组中的第一项。
$(function() {
$('.commentsInit').click(function() {
var uniCommID = $(this).attr("value");
$.ajax({
type: "GET",
url: "/api/comments"
}).success(function(users) {
$.each(users, function(i, v) {
alert(v.displayName);
var b = '<div class="red">' +
'<div>' +
'<span>' +
i + " : " + v.username +
'</span>' +
'<span>' +
" hello" +
'</span>' +
'<span>' +
"45 pts" +
'</span>' +
'</div>' +
'</div>';
$('.commentsForTheWin').html(b);
});
$('.hideOnLoad:contains(' + uniCommID + ')').toggle("slow");
})
})
});
我猜它不喜欢我把它放在 .html 中?但是 .text 也不会改变它。任何帮助表示赞赏!
【问题讨论】:
-
你能给我们看一个“用户”的样本吗
-
每次调用
$.each()时都需要追加数据,而不是简单地覆盖HTML -
html() 将覆盖现有的详细信息。使用 append()
标签: javascript jquery arrays each