2

こんにちはまず第一に、私はすでに周りを見回しましたが、私がしたいことと一致するものは何もないので、誰かが私を助けてくれるかどうか尋ねています.

URL「/view/album/4/photo/1」があり、最後のパラメーターを削除して何かに置き換えたいです。私がやりたいことは、最後の「/」を見つけて、その後の数字を削除し、新しい値に置き換えることです。

php なら簡単ですが、jquery は勉強し始めたばかりなのでわかりません。だから、助けてくれる人には本当に感謝しています。:)

ちなみに、これはURLを取得する際の私のコードです:

アクション = $(フォーム).attr('アクション'); // "/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

簡単でシンプル: regexp.

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 に答える