我想使用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;
});
});
是否有某个字符可能是任何数字的通配符?
答案 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;
});
});