我目前正在网站上显示数据库中的一些数据,它是一个行列表,每行包含两个元素:“名称”和“分数”。我使用一些带有 Ajax 的 Jquery 正确显示它们,该 Ajax 获取它们,动态地为它们创建一个表,然后将每一行插入到该表中。
一切都工作正常,但是当分数从数据库返回时按分数降序排列,我想创建第三个元素以包含在每行中。我希望这个元素是一个排名(如“第一”、“第二”、“第三”等),并且我希望它出现在每行的开头。
这是创建表并插入数据的 Jquery:
function makeTable(data){
var tbl_body = "";
$.each(data, function() {
var tbl_row = "";
$.each(this, function(k , v) {
tbl_row += "<td>"+v+"</td>";
})
tbl_body += "<tr>"+tbl_row+"</tr>";
})
return tbl_body;
}
我试过这个:
function makeTable(data){
var tbl_body = "";
$.each(data, function(var i = 0; i++) {
var tbl_row = "";
$.each(this, function(k , v) {
tbl_row += "<td>"+v+"</td>";
})
tbl_body += "<tr>"+tbl_row+"<td>"+[i+1]+"</td>"+"</tr>";
})
return tbl_body;
}
为了使输出看起来像这样:
1 John Doe 1000
2 无名氏 750
3 jack ·道 500
但是它不起作用。创建一个在每次迭代中进行计数的额外元素可能相对简单,但我不确定用于实现此目的的正确语法,任何帮助将不胜感激,提前谢谢您!
最佳答案
function makeTable(data){
var tbl_body = "";
var index=0;
$.each(data, function() {
var tbl_row = "";
index++;
$.each(this, function(k , v) {
tbl_row += "<td>"+v+"</td>";
})
tbl_body += "<tr><td>"+index+"</td>"+tbl_row+"</tr>";
});
return tbl_body;
}
关于javascript - 如何在数据数组的每次迭代中创建内容为 "i+1"的新 HTML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36131846/