我有这个结构:
<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>
请帮助我
答案 0 :(得分:10)
.attr()
has a form当您可以使用回调函数转换当前设置的属性时。
使用它并与正确的正则表达式相结合可能会起作用:
$("a[href^='mydomain/site']").attr('href', function (i, attr) {
return attr.replace(
/^(mydomain\/site\/)(location)\/([^/]*)\//
, '$1event?$2=$3'
);
})