jQuery删除所有字符后?在img src

时间:2016-09-07 16:44:19

标签: jquery regex image replace src

想要修改img src:

<div class="solo">
  <img src="/uploads/2016/08/Simone-B.jpg?fit=97%2C146&amp;ssl=1">
</div>

要:

<div class="solo">
  <img src="/uploads/2016/08/Simone-B.jpg">
</div>

尝试使用以下但不工作:

jQuery('.solo img').each(function(){
     jQuery(this).attr('src',jQuery(this).attr('src').replace('?*',''));
});

有什么建议吗?提前致谢

1 个答案:

答案 0 :(得分:3)

在您的代码中.replace('?*','')替换字符串?*。要删除该特定部分,您需要使用正则表达式,例如.replace(/\?.*/,'')

但更好的方法是使用 attr() 方法进行迭代回调,并根据旧值进行更新。您可以使用 String#split 方法删除属性值中?之后的字符串部分。

jQuery('.solo img').attr('src',function(i,v){
   return v.split('?')[0]; // get the string part before the `?`
   // or 
   // return v.replace(/\?.*/,'');
});