这是我的循环:
var i=0;
while( i++ < 100) {
$( "#container" ).append('<li id="li' + i + '" class="item image"></li>');
var y = Math.floor(Math.random() * 200) + 100;
$('#li' + i).css({
height: y,
});
}
这有点像我需要它做的事情。它找到#container元素并在其中放入100个列表项,并给它们随机高度不超过300。
我真正需要做的是两件事:
我需要它来找到“ul”#container元素,然后在里面找到已经的“li”元素,并将id更改为id =“li1”,id =“ li2“,id =”li3“等可能使用attr('id','li'+ i)并给它们一个随机高度。
我需要它们的最小高度为200px。
如何使用循环执行此操作?我还是jQuery的新手,请原谅我的无知。
答案 0 :(得分:1)
只需检查列表中是否有li
个元素,而不是i
的当前值,如果有,请更新相应的元素,而不是创建新元素。
var i=0;
while( i++ < 100) {
if ($('#container > li').length > i - 1) $('#container > li').eq(i - 1).attr('id', 'li' + i);
else $( "#container" ).append('<li id="li' + i + '" class="item image"></li>');
var y = Math.floor(Math.random()* 101 + 200); //Always gives an integer between 200 and 300
$('#li' + i).css({
height: y,
});
}