2

我想使用 jQuery 在单击时更改图像的 src 属性。这是HTML:

<a href="#" class="view2">View 2</a>
<img src="images/shoe1a.jpg" class="sb-player" />

在 img src 中,我想将“a”替换为“b”,但我的问题是我想忽略它前面的“1”,因为它也可能看起来像这样:

<img src="images/shoe2a.jpg" class="sb-player" />

我的 jQuery 做到了这一点,星号是我需要通配符的地方:

$(function() {
    $('.view2').click(function() {
        $('.sb-player').attr('src', 'images/shoe'+*+'b.jpg');
        return false;
    });
});

是否有某个字符可以作为任何数字的通配符?

4

2 回答 2

3

只是字符串.replace()的整个结尾,替换为.srca.jpgb.jpg

您可以将函数传递.attr().

参数i表示集合中的当前迭代,val为当前值。返回值代表新值。

$(function() {
    $('.view2').click(function() {
        $('.sb-player').attr('src', function(i,val) { 
             return val.replace('a.jpg','b.jpg');
        });
        return false;
    });
});
于 2010-12-13T21:53:35.680 回答
1

匹配字符串任何部分的最有效方法是在 javascript中使用正则表达式。

也许通过这种方式你可以解决你的问题:


$(function() {
    $('.view2').click(function() {
        var originalSrc = $('.sb-player').attr('src');
        $('.sb-player').attr('src', originalSrc.replace(/a\./,"b."));
        return false;
    });
});
于 2010-12-13T22:10:23.070 回答