我正在尝试遍历表格并根据数组更新每个td:
var person = []; //each array stores a person's name, height, and weight
for (i = 0; i < 5; i++) {
$("table th").each(function(){
$(this).text(person[i].name);
});
$("table td").each(function() {
$(this).text(person[i].height + '/' + person[i].weight);
});
}
然而,这最终会在td中存储数组的最后一个值...我需要根据他们的索引循环显示td&#39; ...有人可以帮忙吗?
答案 0 :(得分:2)
问题在于您正在迭代th/td
,因此,每次迭代第一个for
循环,然后使用jQuery
迭代所有th/td
并更新包含外部index
值的当前for
的内容。不知道你是否理解这一切,但我会举一个如何解决的例子。
var person = []; //each array stores a person's name, height, and weight
for (i = 0; i < 5; i++) {
$("table th:eq("+i+")").text(person[i].name);
$("table td:eq("+i+")").text(person[i].height + '/' + person[i].weight);
}
我不知道你期望的最终结果是什么,但是我编写的代码与你当前正在迭代的索引完全相同。th/td
。
或者,如果您确定数组中存在相同数量的td/th
,那么这对您来说可能没问题
$("table th").each(function(index){
$(this).text(person[index].name);
});
但它可能会在几个方面失败,具体取决于person
数组
希望有所帮助