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

jQuery技术问询:如何为选择器内元素设置独立属性以替换SVG图片路径

批量替换SVG图片路径的解决方案

没问题,我来帮你完成这个批量替换SVG路径的任务。你已经成功选中了页面上所有的SVG图片元素,接下来只需要修改路径中的目录部分,再批量更新每个元素的src属性就可以了。

方法一:直接遍历元素修改(推荐)

这种方式更简洁高效,不需要额外存储路径数组,直接在遍历每个SVG元素时完成路径替换:

// 你已经获取到的所有SVG图片元素
$.svgSelector = $(document).find('img[src$=".svg"]');

// 遍历每个元素,替换路径并更新src
$.svgSelector.each(function() {
  const $currentImg = $(this);
  const originalSrc = $currentImg.attr('src');
  
  // 将原路径中的"img/"替换为"img/icon-black/"
  // 如果你担心路径中出现多个"img/",可以用正则只替换开头的:/^img\//
  const newSrc = originalSrc.replace('img/', 'img/icon-black/');
  
  // 设置新的图片路径
  $currentImg.attr('src', newSrc);
});

方法二:基于你已有的newSources数组补全

如果你想沿用之前的newSources数组逻辑,可以这样补全代码:

$.svgSelector = $(document).find('img[src$=".svg"]');

// 生成所有新路径的数组
var newSources = $.svgSelector.map(function(){
  const originalSrc = $(this).attr("src");
  return originalSrc.replace('img/', 'img/icon-black/');
}).get();

// 遍历元素,逐个设置新的src属性
for(var i = 0; i < $.svgSelector.length; i++) {
  $($.svgSelector[i]).attr('src', newSources[i]);
}

注意事项

  • 如果你的SVG路径是绝对路径(比如/img/xxx.svg),记得把替换字符串改成'/img/'和'/img/icon-black/',保证路径匹配正确。
  • 用正则表达式/^img\//(或/^\/img\//对应绝对路径)可以确保只替换开头的目录,避免意外替换路径中间的相同字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:39:17