我目前正在尝试在点击时更改图像路径末尾的数字.
$(".container-button").click(function(){
$("img.picture").each(
function(){
var p = $(this).attr('src');
var new_image = p.replace('3.jpg' || '2.jpg' || '1.jpg', '4.jpg');
$(this).attr('src',new_image);
}
);
});
Run Code Online (Sandbox Code Playgroud)
如果您查看我的代码,我会执行以下操作:
我所看到的是,只有在找到集合中的第一个文件名但忽略其他文件名时才会替换它.
我究竟做错了什么?
OR条件将在评估第一个字符串后停止'3.jpg'
,并将忽略其他字符串.
要在正则表达式中使用OR,您可以使用|
运算符.所以,(1|2|3)\.jpg
可以使用.但是,字符类有点快,可以在其中使用范围.
$(".container-button").click(function() {
$("img.picture").attr('src', function(i, value) {
return value.replace(/[1-3]\.jpg$/i, '4.jpg');
});
});
Run Code Online (Sandbox Code Playgroud)
除此之外,attr()
可以与回调函数一起使用来更改src
所有匹配元素的属性.
RegEx /[1-3]\.jpg$/i
将匹配
.
字符(这需要转义以匹配文字)jpg
是字符串的结尾.i
标志用于匹配字符串case-in-sensitively. 归档时间: |
|
查看次数: |
72 次 |
最近记录: |