2012-04-21 74 views
1

我有这样的结构:jQuery的正则表达式替换HREF

<ul> 
    <li><a href="mydomain/site/location/paris/">Paris</a></li> 
     <ul> 
      <li><a href="mydomain/site/location/london/">London</a></li> 
     </ul> 
    <li><a href="mydomain/site/location/amsterdam-and-paris/">Amsterdam and Paris</a></li> 
</ul> 

,我需要用它来取代每个锚的HREF:

<a href="mydomain/site/event?location=london">London</a> 

你能帮我请

回答

10

.attr() has a form当你可以使用回调函数来转换当前设置的属性。

使用它,并用正确的正则表达式是这样的结合会的工作:

$("a[href^='mydomain/site']").attr('href', function (i, attr) { 
    return attr.replace(
     /^(mydomain\/site\/)(location)\/([^/]*)\// 
     , '$1event?$2=$3' 
    ); 
})​ 
+0

+1为导游 – tusar 2012-04-21 10:05:25

+0

tnx为导游,我很感激 – zugrina 2012-04-22 10:10:14