从图像src删除参数

时间:2018-09-03 11:37:43

标签: jquery html image parameters

我正在尝试删除所有添加到我的gif中的参数,因为它们正在停止对其进行动画处理。

这是gif的代码:<img src="/asset/News/6001/gif-anim.gif?thumbnail_width=2000&amp;thumbnail_height=500&amp;resize_type=CropToFit" height="500" width="2000" alt="">,但我想删除其所有参数。

我正在尝试下面的代码,但没有用:

$('img').each(function () {
  var curSrc = $(this).attr('src');
  if ( curSrc === '/asset/News/6001/gif-anim.gif?thumbnail_width=2000&thumbnail_height=500&resize_type=CropToFit' ) {
    $(this).attr('src', '/asset/News/6001/gif-anim.gif');
  }
});

有什么想法吗?

编辑: “不起作用”是指未修改图像的src

2 个答案:

答案 0 :(得分:0)

如果您的目的是在迭代时从每个图像中删除完整的查询字符串,那么最好使用.split()

$(document).ready(function(){
    $('img').each(function () {
      var curSrc = $(this).attr('src');
      $(this).attr('src', curSrc.split('?')[0]);
    });
});

正在工作的小提琴:-http://jsfiddle.net/gL4pv985/

答案 1 :(得分:0)

更新源代码的三个步骤:

  1. 获取当前来源。
  2. 从源中提取?之前的子字符串
  3. 重新设置图像来源。

它应该适用于图像中的任何src

$('img').each(function() {
    let curSrc = $(this).attr('src');     
    let newSrc = curSrc.substr(0, curSrc.indexOf('?'));
    $(this).attr('src', newSrc);
});
相关问题