图像源中的jQuery通配符

时间:2010-12-13 21:51:21

标签: jquery replace image wildcard src

我想使用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;
    });
});

是否有某个字符可能是任何数字的通配符?

2 个答案:

答案 0 :(得分:3)

src字符串的整个末尾.replace(),将a.jpg替换为b.jpg

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

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

$(function() {
    $('.view2').click(function() {
        $('.sb-player').attr('src', function(i,val) { 
             return val.replace('a.jpg','b.jpg');
        });
        return false;
    });
});

答案 1 :(得分:1)

匹配字符串任何部分的最有效方法是在javascript中使用Regular Expressions

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


$(function() {
    $('.view2').click(function() {
        var originalSrc = $('.sb-player').attr('src');
        $('.sb-player').attr('src', originalSrc.replace(/a\./,"b."));
        return false;
    });
});