我有一个数组:
var bar = [];
我有一个for循环遍历数组:
for (var i = 0; i <= 3; i++) {
$(".left-lg").find(".name").html(bar[i].name);
}
我正在尝试用数组中的内容替换DIV.name的内容,它可以工作,但只给出了数组中的最后一个。我读过,在带有javascript的点击事件中,循环将结束,所以这就是原因。
任何方式如何纠正这一点,以便它将通过整个循环而不只是给最后一个?
答案 0 :(得分:1)
这是因为您始终将所有的HTML内容设置为与.name
匹配的元素。请尝试使用each()提供的index
参数:
$(".left-lg .name").each(function(index) {
$(this).html(bar[index].name);
});
答案 1 :(得分:0)
尝试使用append而不是html
$(".left-lg").find(".name").append(bar[i].name);
答案 2 :(得分:0)
多数民众赞成,因为每次你打电话:
$(".left-lg").find(".name").html(bar[i].name);
你正在覆盖以前的循环。
将变量设置为等于数组中所需的值,然后将该数组传递给元素:
var allNames;
for (var i = 0; i <= 3; i++) {
allNames = allNames + bar[i].name);
}
$(".left-lg").find(".name").html(allNames);