使用jQuery从URL获取最后一个字符串

时间:2012-01-09 20:29:28

标签: javascript jquery

我试图从URL中获取最后一个字符串,例如......

http://www.mywebsite/blog/this-post

我想用jQuery来获取'this-post' 我有以下......

$('img.gigthumb').each(function(){
    var foo = $(this).parent().attr('href').split('/');
    $(this).attr('src','/lic/wp-content/uploads/2012/01/'+foo[1]+'.jpg');
})

只有它不起作用我猜这是因为我在URL中有多个'/',任何想法如何只针对最后一个?

希望这是有道理的!

5 个答案:

答案 0 :(得分:5)

这正是.pop()的目的:

$('img.gigthumb').each(function(){
    var foo = $(this).parent().attr('href').split('/').pop();
    $(this).attr('src','/lic/wp-content/uploads/2012/01/' + foo + '.jpg');
});

答案 1 :(得分:1)

请勿使用索引1为foo的元素,而应使用最后一个:

$(this).attr('src','/lic/wp-content/uploads/2012/01/'+foo[foo.length-1]+'.jpg');

答案 2 :(得分:1)

用“/”拆分将为您提供数组:

foo[0] = "http:"
foo[1] = ""
foo[2] = "www.mywebsite"
foo[3] = "blog"
foo[4] = "this-post"

如果你想得到最后一项,无论数组的大小如何:

foo[foo.length - 1]

或约瑟夫提到:foo.pop()

答案 3 :(得分:0)

按照您的示例,您需要拆分的最后一部分:

$('img.gigthumb').each(function(){
    var foo = $(this).parent().attr('href').split('/');
    var last = foo.length - 1;
    $(this).attr('src','/lic/wp-content/uploads/2012/01/'+foo[last]+'.jpg');
})

答案 4 :(得分:0)

var foo = $(this).parent().attr('href').replace(/^.*\\/, '');
相关问题