0

如果我有一组要集成的类,如下所示:

.g1 ---> .g12

我该怎么做?

我有我想做的增量事情,并且我相信我已经正确编写了它,但是我不知道如何将该变量与 .grain 连接起来,因此每次单击只能更改一个方块。

$("#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 回答