我试图从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中有多个'/',任何想法如何只针对最后一个?
希望这是有道理的!
答案 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(/^.*\\/, '');