如何使用jQuery替换图片src属性中的指定标签并修正正则表达式错误
解决jQuery替换图片src中/s72-为/s720-的问题
嘿,我来帮你搞定这个图片尺寸替换的问题!你之前的代码问题出在正则表达式的匹配目标不对——你要替换的是URL里的/s72-片段,但原正则是针对w开头的参数,完全没命中你要改的部分。
下面是修正后的完整代码,我还做了点优化,确保能处理页面上所有的.post-thumb图片:
$(document).ready(function(){ var targetSize = 720; // 遍历所有.post-thumb图片,确保每个都被处理 $('.post-thumb').each(function() { const $img = $(this); const originalSrc = $img.attr('src'); // 正则匹配/s后面跟数字再加-的片段,替换成目标尺寸 const updatedSrc = originalSrc.replace(/\/s\d+-/, `/s${targetSize}-`); $img.attr('src', updatedSrc); }); });
代码说明:
- 用
.each()遍历所有匹配的图片:避免页面有多个.post-thumb时只处理第一个的问题 - 正则
/\/s\d+-/:精准匹配/s开头、后面跟一串数字再加上-的片段,不管原来的数字是72还是其他,都能替换成你指定的720 - 模板字符串
/s${targetSize}-:让代码更易读,以后要改尺寸只需要修改targetSize变量就行
测试一下你的原图片URL:
原URL:
https://1.bp.blogspot.com/-v4ekzlZEc/YZUZJjVN8tI/AAAAAAAChsA/GSOuME5yUYs_-G3OX1TfwCPcBGAsYHg/s72-w640-h426-c/402.JPG
替换后会变成:https://1.bp.blogspot.com/-v4ekzlZEc/YZUZJjVN8tI/AAAAAAAChsA/GSOuME5yUYs_-G3OX1TfwCPcBGAsYHg/s720-w640-h426-c/402.JPG
完全符合你想要的效果!
内容的提问来源于stack exchange,提问作者John Roberts
相关产品推荐
相关产品推荐

