2014-06-24 38 views
4

如何使用jQuery获取URL的最后一个参数。例如,在以下网址我想获得1使用jQuery获取url的最后部分

localhost/x/y/page/1/ 

我想以下

var url = $(location).attr('href'); 
var parts = url.split("/"); 
var last_part = parts[parts.length-1]; 
alert(last_part); 

它返回空值。

+0

那是因为你是分裂 '/'。最后有一个。试试parts.length-2 – ncdreamy

回答

6

如果 “/” 绝对是你的URL的末尾,不管是什么..然后只是改变:因为ncdreamy的评论的

var last_part = parts[parts.length-2] 

(使用2,而不是1)。

而且,你并不需要无功无功无功无功无功...只是无功一次,并用逗号分隔符:

var url = $(location).attr('href'), 
    parts = url.split("/"), 
    last_part = parts[parts.length-2]; 
4

您可以使用:

hrefurl=$(location).attr("href"); 
last_part=hrefurl.substr(hrefurl.lastIndexOf('/') + 1) 

使用jQuery

$(location).attr("href").split('/').pop(); 
+0

你有没有检查过?你的jQuery解决方案似乎不工作:http://jsfiddle.net/D2UjM/1/ – user3761459

+0

这是因为小提琴href没有最后一个参数。 –

0

认为这将有助于你。

这里index指示分割点。

var str="url"; 

str.split("/")[3] 
+0

这只适用于特定的网址。作者要求一个通用的解决方案。 – Simon

+1

@Simon - 好吧,但他是新来的,请不要用-1来劝阻他。 –

+0

@Code Monkey - 你的回答是正确的,但它是静态的动态思考和回答。谢谢 –

1

你试图通过“/”分裂所以最后一个/极快该网址以及。试试这个:

var url = "localhost/x/y/page/1/"; 
var parts = url.split("/"); 
var last_part = parts[parts.length-2]; 
alert(last_part); 

http://jsfiddle.net/tEt62/