1

特定の数値 (3) までインクリメントしてからリセットし、最初の数値にループバックするにはどうすればよいですか。最初の数字は 1 から始まる必要があります (0 ではありません)。

私は使用してみました:i=1; i<=3; i+=1

これが私の基本的なコードです:

$(document).ready(function() {
    $(".std-price .local-pricing").each(function(i) {
            $(this).addClass("ab-price" + (i));
    });
});

for()またはを使用した場合each()、それは私に与えるでしょうclass="ab-price1 ab-price2 ab-price3"

ヘルプと参照リンク (プロセスで学習するため) は素晴らしいでしょう。

ありがとう!

4

2 に答える 2

3

クラスなどを設定したい場合はab-price1, ab-price2, ab-price3, ab-price1, ab-price2、これを行うことができます:

$(".std-price .local-pricing").each(function(i) {
    $(this).addClass("ab-price" + (1+(i%3)));
});

これはモジュロ演算子を使用します。

IE8 との互換性が必要ない場合は、純粋な CSS で:nth-of-type() 疑似クラスを使用して解決することもできます。

于 2013-06-18T16:12:48.990 に答える
2

モジュロ演算子を使用できます:

$(".std-price .local-pricing").addClass(function(i) {
    return "ab-price" + (i % 3 + 1);
});

また、かなりの数の jQuery 関数がコールバック ( addClasswidthattr、および などprop) を受け取るため、通常は を取り除くことができますeach

于 2013-06-18T16:13:11.843 に答える