0

次のように、統合したい一連のクラスがある場合:

.g1 ---> .g12

どうすればいいですか?

やりたいインクリメントがあり、適切に記述したと思いますが、その変数を.grainと連結する方法がわからないため、クリックごとに1つの正方形しか変更できません。

$("#grains").click(function(){
var x;
x++;
$(".grain").attr('src',"orangesq-01.png");
});

これが私が作ったリスト項目です:

<ul id="grains">
            <li><img src="blusq-01.png" class="grain" /></li>
            <li><img src="blusq-01.png" class="grain1" /></li>
            <li><img src="blusq-01.png" class="grain2" /></li>
            <li><img src="blusq-01.png" class="grain3" /></li>
            <li><img src="blusq-01.png" class="grain4" /></li>
            <li><img src="blusq-01.png" class="grain5" /></li>
            <li><img src="blusq-01.png" class="grain6" /></li>
            <li><img src="blusq-01.png" class="grain7" /></li>
            <li><img src="blusq-01.png" class="grain8" /></li>
            <li><img src="blusq-01.png" class="grain9" /></li>
            <li><img src="blusq-01.png" class="grain10" /></li>
            <li><img src="blusq-01.png" class="grain11" /></li>
        </ul>

私が何をしようとしているのか、お分かりいただけると思います。その連結することを理解できたら、それは素晴らしいことです。

4

2 に答える 2

2

インデックスを追加するか、.eq()すでに順番に並んでいる場合は呼び出しを使用できます。

var x = 0;
$("#grains").click(function(){
 $(".grain" + (x === 0 ? '' : x)).attr('src',"orangesq-01.png");
 //or
 $(this).find('img').eq(x).attr('src',"orangesq-01.png");
  x++;
});

ねえhttp://jsfiddle.net/mURxA/

于 2012-06-26T15:54:59.480 に答える
0

別のより動的なアプローチは、カスタム セレクターを組み合わせて使用​​しeq(0)、次のように最初の画像を選択するだけです。

$('#grains').click(function()
{
    $('img[src="blusq-01.png"]', this).eq(0).attr('src', 'orangesq-01.png');
});

アンドリューを気にしないでください、私はあなたのを更新しました.

于 2012-06-26T16:17:10.003 に答える