我试图分配10个不同身高的div hi
。
我知道我可以这样做。
$(".hi:eq(0)").css("height",n[0]);
$(".hi:eq(1)").css("height",n[1]);
$(".hi:eq(2)").css("height",n[2]);
..........
$(".hi:eq(9)").css("height",n[9]);
但是,当我尝试使用for
循环生成它时,它无法正常工作。
for (i=0;i<10;i++){
$(".hi:eq(i)").css("height",n[i]);
}
这两者都没有。
var i=0;
$(".hi:eq(i)").css("height",n[i]);
:eq(i)
确实有问题。
答案 0 :(得分:6)
这个问题是JavaScript没有字符串插值。
但是这样做呢......
$(".hi").slice(0,10)
.css('height', function(i) {
return n[i];
});
远比使用非标准选择器重复DOM选择更有效。
.slice(0,10)
将为您提供前10个元素
.css()
将返回值分配给迭代中当前元素的height
css属性。当前迭代的索引由i
参数表示。
答案 1 :(得分:3)
i
不能在字符串中。你可能想要这个:
for (i=0; i<10; i++){
$(".hi:eq(" + i + ")").css("left", n[i]);
}