为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript:用html字符串中的正则表达式替换图像名称

Javascript:用html字符串中的正则表达式替换图像名称

Cats萌萌 2019-04-25 13:15:41
我正在尝试从HTML字符串替换图像名称(product-1-placeholder-href.png)。我试图正确使用所有正则表达式规则。但是,它仍然不匹配并替换字符串,我真的不知道为什么。所以这是我的正则表达式:var myStr = htmlContent;var newStr = myStr.replace(/'product-1-placeholder-href\.png'/g, 'SOMETHINGIMPORTANT');console.log(newStr.indexOf('product-1-placeholder-href.png'));console.log(newStr.indexOf('SOMETHINGIMPORTANT'));第一个console.log仍然给我一个索引,第二个是“-1”所以没有匹配。这是我要替换的HTML的一部分:<div id="Group_9">    <svg class="Rectangle">        <rect id="Rectangle" rx="0" ry="0" x="0" y="0" width="44" height="44">        </rect>    </svg>    <svg class="ID43059702_02_B">        <pattern elementId="ID43059702_02_B_A2_Rectangle_31" id="product-1-placeholder" x="0" y="0" width="100%" height="100%">           <image id="product-image-1" x="0" y="0" width="100%" height="100%"                            href="product-1-placeholder-href.png"                            xlink:href="product-1-placeholder-href.png" alt="No image found">            </image>        </pattern>    </svg></div>我的正则表达式是错误的还是不可能在这个HTML字符串中替换?
查看完整描述

2 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

您不能在正则表达式中使用引号来指定字符串值。通过删除引号尝试以下方式。

var newStr = myStr.replace(/product-1-placeholder-href\.png/g, 'SOMETHINGIMPORTANT');


查看完整回答
反对 回复 2019-05-17
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

为什么在这种情况下不使用DOM。


我认为这很容易控制和理解


document.getElementById("product-image-1").href="SOMETHINGIMPORTANT"; 

document.getElementById("product-image-1").setAttribute("xlink:href", "SOMETHINGIMPORTANT");


谢谢阅读。


查看完整回答
反对 回复 2019-05-17
  • 2 回答
  • 0 关注
  • 334 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信