首先,我已经环顾四周,但没有什么能与我想要的相提并论,所以我想问是否有人可以帮助我。
我有一个网址“/ view / album / 4 / photo / 1” 我想删除最后一个参数,并用一些东西替换它。 我想要做的是找到最后一个“/”并删除它之后的数字并用新值替换它。
使用php很容易但我不知道如何在jquery中这样做,因为我刚开始学习它。所以我真的很感激能帮助的人。 :)
顺便说一下,这是我获取网址的代码:
action = $(form).attr('action'); //“/ view / album / 4 / photo / 1”
我不知道如何处理变量以更改最后一个参数的值
答案 0 :(得分:5)
试试这个:)
http://jsfiddle.net/hE6MC/
API:http://www.w3schools.com/jsref/jsref_lastindexof.asp
BTW我知道:)
http://w3fools.com
<强>码强>
url = "/view/album/4/photo/1"
var value = url.substring(url.lastIndexOf('/') + 1);
alert(value);
url = url.replace(value, 'hulk')
alert("new url => " + url);
另一种方式
var str = '/view/album/4/photo/1';
var i = str.lastIndexOf('/');
if (i != -1) {
str = str.substr(0, i) + "/new stuff";
}
alert(str);
答案 1 :(得分:4)
var paths = location.pathname.split('/');
paths[ paths.length-1 ] = 'foo'; // new value
location.pathname = paths.join('/');
答案 2 :(得分:1)
简单易行:正则表达式。
action = (action.match(/(.*)\d+$/) == null) ? action : (action.match(/(.*)\d+$/)[1]+"2");
给定的
/view/album/4/photo/2
答案 3 :(得分:1)
如果您只想替换最后一个字符,可以使用slice
方法。
$('form').attr('action', function(i, a){
a.slice(0, -1) + 'number'
})