2010-11-17 30 views
1

我使用得到一个选择的URL的:使用jQuery,帮助修改URL集

$("a.someclass") 

现在我的网址是这样的:

http://www....com/something/12321 

我需要通过删除修改网址追踪号码变为:

http://www....com/something/ 

我该怎么做?

+1

** **刚最后一个'/'字符之后的尾数*号*,或*所有*号? – 2010-11-17 22:21:01

回答

2

像这样的东西可能会奏效,使用正则表达式来删除尾随号码:如果href实际上数字结尾

$("a.someclass").each(function() { 
    $(this).attr('href', function(index, attr) { 
    return attr.replace(/^(.*)\d+$/, '$1'); 
    }); 
}); 
+1

正则表达式的^(。*)'部分是不必要的(除非你试图排除包含非转义换行符的URL,这是不可能的)。 – PleaseStand 2010-11-17 22:36:03

+0

@idealmachine,很对,它应该是:attr.replace(/ \ d + $ /,''); – Orbling 2010-11-17 22:39:01

+0

此外,.each()函数是多余的,因为它可以直接从$(“a.someclass”)。attr(...)运行 - 哦。 – Orbling 2010-11-18 17:14:08

1

你可以这样做:

$("a.someclass").attr('href',function(i,href){return href.replace(/\d+$/,'');}); 
+0

这是最好的编队,因为each()调用显然是不必要的 - 应该已经发现了! :-) – Orbling 2010-11-17 22:40:08