jquery正则表达式替换href

时间:2012-04-21 09:19:16

标签: jquery regex string dom-manipulation html

我有这个结构:

<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>

请帮助我

1 个答案:

答案 0 :(得分:10)

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

使用它并与正确的正则表达式相结合可能会起作用:

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