2

私がこれを行う場合:

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

「classname」はすべて同じ数字で埋められます。「classname」のすべてのインスタンスを異なる乱数で埋めることは可能ですか?

これを解決するために考えられる唯一の方法は、「クラス名」の各インスタンスを調べて、乱数を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);
});

関数は実際には 2 つの引数で呼び出されます。1 つ目は選択範囲内の要素のインデックスで、2 つ目は 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 に答える