2013-03-11 45 views
0

我想要替换一个url的特定部分,但只在一个特定的div,一直在尝试与正则表达式(是的,我是一个正则表达式新手),但不能绕我的头周围要得到这个工作,并会并欣赏任何援助之手jQuery的正则表达式替换字符串查找功能

我要替换/图片/一个新的文件夹/设计/ abtester/nyaproduktbilder/ 之所以这样,是我要运行一个网站范围的A/B测试新产品图片

我有这部分代码

<div class="visaprodbild"><a class="fancyBoxLink" rel="produktbilder" href="/images/BR501.jpg"><img class="hand" alt="" title="" src="/images/BR501.jpg" border="0" width="330px"></a></div> 

问题是我无法找到并替换/ images/part,导致页面上有更多其他图像使用/ images /,我不能将原始产品图像移动到新文件夹。

所以我需要在div内识别上述

对不起的/图像/一部分,如果这是为帮助一个不明确的问题,只是这样就失去了我很难解释什么,我需要做的。

回答

-1

添加一个ID <a><img>和改变它的属性与$("#id").attr();

+0

为什么downvote?也许不是最好的答案,但是,这是他的问题的解决方案。 – Mollo 2013-03-11 22:04:08

+0

好主意,thx很多你的帮助。问题是我不能添加ID因为我没有任何控制代码作为共同托管的中央解决方案 – Per 2013-03-12 21:18:50

0

我不认为你甚至不需要正则表达式..你可以做.replace('/images/','yournewpath')

$('div.visaprodbild img.hand').attr('src',function(i,v){ 
    return v.replace('/images/','/your new path/'); 
}); 

通过使用attr('src',function(i,v)旧值作为参数传入并且您可以返回修改后的函数

FIDDLE

+0

哇,像一个魅力工作:D <3你刚刚救了我的一天。 Thx m8 由于某些原因,原始图像名称有时在名称中包含(),如BR501(1).jpg。 如果图像url包含(),是否可以清除它? – Per 2013-03-11 22:32:47

+0

你只是想删除所有'('和')'? – 2013-03-11 23:34:47