私がこれを行う場合:
$('.classname').html(Math.floor(Math.random()*10)+1);
「classname」はすべて同じ数字で埋められます。「classname」のすべてのインスタンスを異なる乱数で埋めることは可能ですか?
これを解決するために考えられる唯一の方法は、「クラス名」の各インスタンスを調べて、乱数を1つずつ適用することです。
私がこれを行う場合:
$('.classname').html(Math.floor(Math.random()*10)+1);
「classname」はすべて同じ数字で埋められます。「classname」のすべてのインスタンスを異なる乱数で埋めることは可能ですか?
これを解決するために考えられる唯一の方法は、「クラス名」の各インスタンスを調べて、乱数を1つずつ適用することです。
html メソッドには、関数を受け入れる「オーバーロード」があります。この関数は、内部の html を設定する値を返す必要があります。あなたの場合、次のことができます:
$(".classname").html(function() {
return (Math.floor(Math.random()*10)+1);
});
関数は実際には 2 つの引数で呼び出されます。1 つ目は選択範囲内の要素のインデックスで、2 つ目は HTML 内の要素の現在の値です。
jQueryの.each()
関数を使用して、指定したセレクターに一致する各要素を反復処理できます-
$.each('.classname',function(index,elem){
var newRandomNumber = (Math.random()*10)+1;
$(elem).html(Math.floor(newRandomNumber));
});
each()
関数の反復ごとにindex
、現在の要素の と要素自体がelem
パラメーターに含まれます。
これを試して
$('.classname').each(function(index) {
$(this).html(Math.floor(Math.random()*10)+1);
});
はい。これを行う最も簡単な方法は、jQuery のeach関数を使用することです。
$('.classname').each(function() {
$(this).html(Math.floor(Math.random()*10)+1);
});