【问题标题】:Remove params from image src从图像 src 中删除参数
【发布时间】:2018-09-03 20:16:42
【问题描述】:

我正在尝试删除所有添加到我的 gif 中的参数,因为它们正在停止它以制作动画。

这是 gif 的代码:<img src="/asset/News/6001/gif-anim.gif?thumbnail_width=2000&thumbnail_height=500&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

【问题讨论】:

  • 该代码应该可以工作。也发布您的 HTML
  • 请解释一下您的意思:“它不起作用” - 发生了什么,没有发生什么,...

标签: jquery html image parameters


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    更新源码的三步:

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

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

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

    【讨论】:

    • 恐怕它没有更新src。就像我运行此代码后正在添加参数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 2015-05-15
    • 2013-07-15
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    相关资源
    最近更新 更多