2012-01-10 64 views
1

我有一个这样的锚在我的网站:.replace和主持人

<a href="javascript:OpenNewWindow('/PhotoDetails.asp?ProductCode=ProductCode', 640, 480)" title=""> 

使用jQuery,如何才有可能与/ProductDetails更换javascript:OpenNewWindow('/PhotoDetails和替换', 640, 480)什么也没有?

我试过.replace,但是因为内容中有单引号,所以很复杂。

谢谢。

+2

我会放弃内联JS和使用一个单独的处理程序与变量。 – Blazemonger 2012-01-10 21:15:35

+0

@ mblase75 - 这将是理想的解决方案,+1 – Hacknightly 2012-01-10 21:18:06

+0

@ mblase75整个问题是我如何摆脱内联js – henryaaron 2012-01-10 21:18:07

回答

1

我不是正则表达式大师,但这里是一个简单的indexOf解决方案,使用单引号作为边界。

http://jsfiddle.net/CWjV5/3

$('a').each(function() { 
    var href = $(this).prop('href'); 
    href = href.substring(href.indexOf("'") + 1, href.lastIndexOf("'")); 
    href = href.replace('Photo', 'Product'); 
    $(this).prop('href', href); 
});; 
+0

但我必须用单词产品 – henryaaron 2012-01-10 21:18:55

+0

@ user1090389替换词照片 - woops,didn'不用注意那一点。更新了我的答案。 – mrtsherman 2012-01-10 21:23:23

+0

唯一的问题是,我不能像这样实施它,我的网站还有其他的锚点。为了特别针对我想要修改的锚点,我将其更改为:'table.class1 tbody.class2 tr。 class3 td.class4 a',它不起作用。 – henryaaron 2012-01-10 21:32:37