作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一组 jSon 数据(无错误),我需要使用 $.each 函数循环,但它仅显示 jSon 的最后一个数据记录。
这是我的jquery:
$.ajax({
type: "POST",
url: '/update-recent-stat',
dataType: 'json',
success: function(jsonData)
{
var counterjson = 1;
$.each(jsonData, function(i, value){
var count = counterjson++;
var link = jsonData[count].linkid;
var time = jsonData[count].time;
var value = jsonData[count].value;
var sender = jsonData[count].sender;
$("#DownBoxL ul li").html("<div class=Timestamp>"+time+"</div><div class=UserName><a href=\"#"+link+"\">"+sender+"</a> ("+count+") msg sent!</div><div class=TagValue>+"+value+"</div>").show();
});
}
});
所以 jSon 数据是一组包含 15 条记录的数据,例如:
[{"counter":"1","linkid":"1448524027","sender":"User1","value":"5","time":"5 sec ago"},{"counter":"2","linkid":"1448524027","sender":"User2","value":"5","time":"5 min ago"}]
郑重声明,这段代码仅显示最后一条记录!
有谁知道问题出在哪里吗?
谢谢,问候。
最佳答案
因为你每次都会覆盖所有 li
的 HTML。您可以使用 eq
使相同的代码工作。并且使用 $.getJSON
它很容易用于 JSON 数据,并且足以满足您的要求。
$.getJSON('/jsonurl/file.json', function(jsonData)
{
var counterjson = 1;
$.each(jsonData, function(i, value){
var count = counterjson++;
var link = jsonData[count].linkid;
var time = jsonData[count].time;
var value = jsonData[count].value;
var sender = jsonData[count].sender;
$("#DownBoxL ul li:eq(" + i + ")).html("<div class=Timestamp>"+time+"</div><div class=UserName><a href=\"#"+link+"\">"+sender+"</a> ("+count+") msg sent!</div><div class=TagValue>+"+value+"</div>").show();
});
}
});
关于jQuery 每个循环不适用于 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14081279/
我是一名优秀的程序员,十分优秀!