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

如何使用JavaScript替换图片srcset属性值以满足A/B测试需求

图片URL替换实现方案

原生JavaScript方案(无依赖,可直接在控制台运行)

以下代码会覆盖所有响应式图片相关属性,包括src/srcset/data-src/data-srcset,全局替换所有img.png为目标新地址,同时保留srcset中的宽度描述参数:

const oldImgKeyword = 'img.png';
const newImgUrl = 'https://newimage.svg';
const targetEls = document.querySelectorAll('.pic_test source, .pic_test img');

targetEls.forEach(el => {
  const replaceAttrs = ['src', 'srcset', 'data-src', 'data-srcset'];
  replaceAttrs.forEach(attr => {
    if (el.hasAttribute(attr)) {
      const originVal = el.getAttribute(attr);
      // 兼容低版本浏览器可替换为 originVal.replace(new RegExp(oldImgKeyword, 'g'), newImgUrl)
      const updatedVal = originVal.replaceAll(oldImgKeyword, newImgUrl);
      el.setAttribute(attr, updatedVal);
    }
  });
});

jQuery方案(需项目已引入jQuery)

const oldImgKeyword = 'img.png';
const newImgUrl = 'https://newimage.svg';

$('.pic_test source, .pic_test img').each(function() {
  const replaceAttrs = ['src', 'srcset', 'data-src', 'data-srcset'];
  const $current = $(this);
  replaceAttrs.forEach(attr => {
    if ($current.attr(attr)) {
      const updatedVal = $current.attr(attr).replaceAll(oldImgKeyword, newImgUrl);
      $current.attr(attr, updatedVal);
    }
  });
});

验证说明

  • 代码直接粘贴到浏览器控制台运行即可生效
  • 若页面使用懒加载逻辑,运行代码后可手动滚动对应区域触发懒加载,确保新图片地址加载展示
  • 可通过F12审查元素查看对应source、img标签的属性,确认替换结果正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:45:05