2

如果我这样做:

$('.classname').html(Math.floor(Math.random()*10)+1);

所有的“类名”都用相同的数字填充。是否可以用不同的随机数填充“类名”的每个实例?

我能想到的解决这个问题的唯一可能方法是遍历“类名”的每个实例并一个一个地应用一个随机数。

4

5 回答 5

6

.html()

$(".classname").html(function(idx, oldValue) {
    return (Math.floor(Math.random()*10)+1);
});

小提琴

于 2012-07-22T20:15:05.203 回答
4

html 方法有一个接受函数的“重载”。该函数应返回将内部 html 设置为的值。在您的情况下,您可以执行以下操作:

$(".classname").html(function() {
    return (Math.floor(Math.random()*10)+1);
});

该函数实际上是用两个参数调用的。第一个是选择中元素的索引,第二个是元素内部html的当前值

于 2012-07-22T20:17:45.527 回答
2

您可以使用 jQuery 的.each()函数来遍历与您提供的选择器匹配的每个元素 -

$.each('.classname',function(index,elem){
  var newRandomNumber = (Math.random()*10)+1;
  $(elem).html(Math.floor(newRandomNumber));
});

对于each()函数的每次迭代,您将index在参数中拥有您所在元素的 和元素本身elem


http://api.jquery.com/jQuery.each/

于 2012-07-22T20:11:51.317 回答
1

试试这个

$('.classname').each(function(index) {
    $(this).html(Math.floor(Math.random()*10)+1);
});
于 2012-07-22T20:11:30.397 回答
0

是的。最简单的方法是使用 jQuery each函数:

$('.classname').each(function() {
    $(this).html(Math.floor(Math.random()*10)+1);
});
于 2012-07-22T20:11:14.843 回答