You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jQuery/JS移除图片URL中的?tx=w_xxx参数部分?

解决方案

要移除图片URL里的?tx=w_xxx这类参数,只需要在原有jQuery代码的URL处理环节加一段逻辑即可,以下是两种可行方案:

完整修改代码

// Swap data-src for src
$('img').each((index, element) => {
    let dataSrc;
    if ($(element).attr('data-src')) {
        dataSrc = $(element).attr('data-src');
    } else if ($(element).attr('src')) {
        dataSrc = $(element).attr('src');
    }

    if (dataSrc){
        // 移除?tx=w_xxx参数 - 选下面其中一种方式即可
        // 方式1:直接去掉所有查询参数(适合只有tx这一个参数的场景)
        dataSrc = dataSrc.split('?')[0];
        
        // 方式2:只删除tx参数(URL有其他参数需要保留时用这个)
        // const url = new URL(dataSrc);
        // url.searchParams.delete('tx');
        // dataSrc = url.toString();

        // 原有URL修复逻辑
        if (dataSrc.startsWith('//')) dataSrc = `https:${dataSrc}`;
        if (dataSrc.includes('%')) dataSrc = decodeURI(dataSrc);
        
        $(element).attr('src', dataSrc);
    }

    if ($(element).parents('figure').length === 1) $(element).unwrap();
});

逻辑说明

  • 方式1:用split('?')[0]直接截取问号前面的URL部分,操作简单,适合确定URL里只有tx=w_xxx这一个查询参数的情况。
  • 方式2:用浏览器原生的URL对象来管理查询参数,精准删除tx参数,不会影响URL里的其他参数,兼容性也没问题。

如果连picture里的source标签的data-srcset参数也要处理,加这段代码就行:

// 处理source标签的data-srcset
$('source').each((index, element) => {
    let srcSet = $(element).attr('data-srcset');
    if (srcSet) {
        srcSet = srcSet.split('?')[0]; // 同样选方式1或方式2处理
        $(element).attr('data-srcset', srcSet);
        // 要是需要把data-srcset转成srcset,再加这句:$(element).attr('srcset', srcSet);
    }
});

内容的提问来源于stack exchange,提问作者gilessmith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 18:35:13