使用jQuery/Javascript的For循环
我用javascript/jquery创建了一个for循环,以便为每个名为“.choice”的div类分配一个随机数。总共有四个部门。当我运行以下代码时:使用jQuery/Javascript的For循环,javascript,jquery,for-loop,Javascript,Jquery,For Loop,我用javascript/jquery创建了一个for循环,以便为每个名为“.choice”的div类分配一个随机数。总共有四个部门。当我运行以下代码时: for (var i = 0; i < 4; i++) { var random = Math.floor(Math.random() * 12); var chess = $(".choice"); chess.attr({ "data-random": random
for (var i = 0; i < 4; i++) {
var random = Math.floor(Math.random() * 12);
var chess = $(".choice");
chess.attr({
"data-random": random
});
$(".choice").append(chess);
}
for(变量i=0;i<4;i++){
var random=Math.floor(Math.random()*12);
var chess=$(“.choice”);
国际象棋({
“数据随机”:随机
});
$(“.choice”).append(国际象棋);
}
所有div返回相同的数字,而不是每个div。选择具有随机数
(这是网站上的第一个问题,希望这个问题有意义。提前谢谢。)你用
var chess=$(“.choice”)瞄准了所有div.choice
S代码>。您应该将该行移到for循环之外,并仅将第n个div作为设置属性的目标。发生这种情况是因为您将随机数分配给类,这将随机数分配给该类的每个对象。如果要将随机数记录到console.log中,您将看到每个div都以生成的最后一个随机数结束
相反,请尝试使用以下命令使用类对对象进行迭代:
$('.choice').each(function() {
//Logic here.
});
在循环的每次迭代中,您都将相同的随机数分配给选择中的每个元素
这应该做到:
$(“.choice”).attr({
“数据随机”:()=>Math.floor(Math.random()*12)
});代码>
1.
2.
3.
4当您使用
$(“.choice”);这将返回具有.choice类的所有元素的数组。当您添加属性时,它每次都会添加具有相同值的相同属性
它取最后一个随机值,该值是在最后一次迭代(即第4次迭代)中生成的
var chess = $(".choice");
for (var i = 0; i < 4; i++) {
var random = Math.floor(Math.random() * 12);
chess[i].attr({ "data-random": random });
}
var chess=$(“.choice”);
对于(变量i=0;i<4;i++){
var random=Math.floor(Math.random()*12);
国际象棋[i].attr({“数据随机”:random});
}
我运行这个循环直到问题中提到的第四个元素
如果要对与选项具有相同类名的所有元素运行此选项,则应按如下方式运行:-
var chess = $(".choice");
for (var i = 0; i < chess.length; i++) {
var random = Math.floor(Math.random() * 12);
chess[i].attr({ "data-random": random });
}
var chess=$(“.choice”);
for(变量i=0;i
这将为每个元素添加随机数,每个元素都有属性数据random的classname选项。所以您想在其中循环元素。选择?或者你想在其中循环多项选择元素?也不清楚你为什么要再次附加这些元素…@Marcelo:也看到我的答案了吗