2

嗨,首先我已经环顾四周,但没有什么与我想要发生的事情相匹配,所以我问是否有人可以帮助我解决这个问题。

我有一个 URL “/view/album/4/photo/1”,我想删除最后一个参数并用一些东西替换它。我想要做的是找到最后一个“/”并删除它后面的数字并用新值替换它。

使用 php 很容易,但我不知道如何在 jquery 中做到这一点,因为我刚开始学习它。所以我真的很感谢任何可以提供帮助的人。:)

顺便说一句,这是我获取网址的代码:

action = $(form).attr('action'); // "/view/album/4/photo/1"

我不知道如何处理变量来更改最后一个参数的值

4

4 回答 4

5
var paths = location.pathname.split('/');
paths[ paths.length-1 ] = 'foo'; // new value
location.pathname = paths.join('/');
于 2012-10-14T09:44:26.943 回答
5

试试这个:) http://jsfiddle.net/hE6MC/

http://jsfiddle.net/YwG6b/

API:http ://www.w3schools.com/jsref/jsref_lastindexof.asp

顺便说一句,我知道:) 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);
​
于 2012-10-14T09:48:54.900 回答
1

简单易行:正则表达式。

action = (action.match(/(.*)\d+$/) == null) ? action : (action.match(/(.*)\d+$/)[1]+"2");

/view/album/4/photo/2
于 2012-10-14T09:47:57.287 回答
1

如果您只想替换最后一个字符,您可以使用slice方法。

$('form').attr('action', function(i, a){
    a.slice(0, -1) + 'number'
})
于 2012-10-14T09:49:39.830 回答