var dataUrl = $('#AjaxMoreStatus').attr("data-url");
// http://localhost:8888/app/status/get/31/7
我需要将最后一个破折号(7)的链接的最后一个值更改为另一个值。 7是动态值。
我能做到吗?
例如,如果我想将动态值7改为9:
var new = 9;
$("#AjaxMoreStatus").attr("data-url", url without the 7 + '/' + new);
答案 0 :(得分:6)
使用lastIndexOf
检查" /"
var dataUrl = $('#AjaxMoreStatus').attr("data-url");
var newValue = 9;
dataUrl = dataUrl.substring( 0, dataUrl.lastIndexOf( "/" ) ) + "/" + newValue;
答案 1 :(得分:3)
使用split()
分隔网址并替换最后一项:
var url = "http://localhost:8888/app/status/get/31/7";
url = url.replace("http://", "").split("/");
var newValue = "9";
url[(url.length - 1)] = newValue;
var newUrl = "http://"+url.join("/");
答案 2 :(得分:3)
您可以像这里一样使用replace
方法
var url = "http://localhost:8888/app/status/get/31/7";
a.replace(/\/(\d*)$/, '/' + newValue);
答案 3 :(得分:2)
如果您只需要更改最后7个用于其他内容,请尝试以下代码:
var dataUrl = 'http://localhost:8888/app/status/get/31/7';
var newValue = 9;
dataUrl = dataUrl.replace(/([0-9])$/i, newValue);
https://jsfiddle.net/8hf6ra8k/1/
希望它可以帮助你:)。
答案 4 :(得分:1)
您可以使用.lastIndexOf()
查找index
。然后,您可以替换该索引处的值。如需参考,请参阅以下帖子:How do I replace a character at a particular index in JavaScript?。
var url = "htt[://stacloverflow.com/test/param/tobe/replaced/with/newValue";
var newVal = "testNewValue";
var lastIndex = url.lastIndexOf('/');
var result = url.substring(0,lastIndex+1) + newVal;
alert(result)