2012-04-21 102 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