Javascript 添加到最后一个URL之后/
使用jQuery;在最后一个/ 例如,将销售添加到: /性别/类别/品牌/ 因此,它变成: /性别/类别/品牌/销售 但是,由于URL的生成和构建方式,我不能总是说“将其添加到URL的末尾”,因为有时会在末尾出现查询字符串,例如: /性别/类别/品牌/?系列=短款&颜色=红色 我只是不知道如何在最后的/之后添加销售,如果存在查询字符串,则总是在之前添加 通过stackoverflow搜索,我看到了一些关于在最后一次/之后提取内容的信息,但不是这样,这可能吗?我真的很感激你能帮我解决这个问题 编辑-解决方案 非常感谢您的帮助,但我能够将Shree的答案改编为最容易获得的答案,它满足了我的需要:Javascript 添加到最后一个URL之后/,javascript,url,Javascript,Url,使用jQuery;在最后一个/ 例如,将销售添加到: /性别/类别/品牌/ 因此,它变成: /性别/类别/品牌/销售 但是,由于URL的生成和构建方式,我不能总是说“将其添加到URL的末尾”,因为有时会在末尾出现查询字符串,例如: /性别/类别/品牌/?系列=短款&颜色=红色 我只是不知道如何在最后的/之后添加销售,如果存在查询字符串,则总是在之前添加 通过stackoverflow搜索,我看到了一些关于在最后一次/之后提取内容的信息,但不是这样,这可能吗?我真的很感激你能帮我解决这个问题 编辑
if(window.location.href.indexOf("sale") > -1) {
} else {
var raw = window.location.href;
var add = 'sale';
var rest = raw.substring(0, raw.lastIndexOf("/") + 1);
var last = raw.substring(raw.lastIndexOf("/") + 1, raw.length);
var newUrl = rest + add + last;
window.location.href = newUrl;
}
香草javascript
var a = "/gender/category/brand/?collection=short&colour=red";
var lastIndexPosition = a.lastIndexOf('/');
a = a.substring(0,lastIndexPosition+1)
+"sale"
+a.substring(lastIndexPosition+1 , a.length);
console.log(a);
香草javascript
var a = "/gender/category/brand/?collection=short&colour=red";
var lastIndexPosition = a.lastIndexOf('/');
a = a.substring(0,lastIndexPosition+1)
+"sale"
+a.substring(lastIndexPosition+1 , a.length);
console.log(a);
通过在Javascript中使用可重用函数: 您可以使用
lastIndexOf
获取last'/'索引
位置并将新数据附加到该位置
lastIndexOf()方法返回最后一次出现的位置
字符串中指定值的
- 使用它,您可以将任何参数发送到函数中,因为它是可重用的。
函数插入(主字符串、插入字符串、位置){
返回main_string.slice(0,pos)+ins_string+main_string.slice(pos);
}
var url=“/gender/category/brand/?collection=short&color=red”
url=插入(url“sale”,url.lastIndexOf(“/”)+1)
console.log(url)
使用Javascript中的可重用函数:
您可以使用lastIndexOf
获取last'/'索引
位置并将新数据附加到该位置
lastIndexOf()方法返回最后一次出现的位置
字符串中指定值的
- 使用它,您可以将任何参数发送到函数中,因为它是可重用的。
函数插入(主字符串、插入字符串、位置){
返回main_string.slice(0,pos)+ins_string+main_string.slice(pos);
}
var url=“/gender/category/brand/?collection=short&color=red”
url=插入(url“sale”,url.lastIndexOf(“/”)+1)
console.log(url)
另一种选择是,使用.split(“?”
在?
处分离,然后将它们合并回来,例如:
//查询字符串示例
var url='/gender/category/brand/?collection=short&color=red'
var parts=url.split(“?”);
var newurl=parts[0]+“sale”+“?”+(parts[1]| |“”)
console.log(newurl)
//无查询测试
var url='/gender/category/brand/'
var parts=url.split(“?”);
var newurl=parts[0]+“sale”+(parts[1]| |“”)
console.log(newurl)
另一种选择是,使用.split(“?”
在?
处分离,然后将它们合并回来,例如:
//查询字符串示例
var url='/gender/category/brand/?collection=short&color=red'
var parts=url.split(“?”);
var newurl=parts[0]+“sale”+“?”+(parts[1]| |“”)
console.log(newurl)
//无查询测试
var url='/gender/category/brand/'
var parts=url.split(“?”);
var newurl=parts[0]+“sale”+(parts[1]| |“”)
console.log(newurl)
将子字符串
与lastIndexOf
一起使用
var raw='/gender/category/brand/?collection=short&color=red';
var add=‘销售’;
var rest=raw.substring(0,raw.lastIndexOf(“/”)+1);
var last=raw.substring(raw.lastIndexOf(“/”)+1,raw.length);
var newUrl=rest+add+last;
console.log(newUrl)代码>
将子字符串
与lastIndexOf
一起使用
var raw='/gender/category/brand/?collection=short&color=red';
var add=‘销售’;
var rest=raw.substring(0,raw.lastIndexOf(“/”)+1);
var last=raw.substring(raw.lastIndexOf(“/”)+1,raw.length);
var newUrl=rest+add+last;
console.log(newUrl)代码>
更新的标签-这不是jquery问题,这是vanilla javascriptUpdated标签-这不是jquery问题,这是vanilla JavaScriptThank,抱歉,我可能需要补充的是,性别、类别、品牌和字符串只是示例,不是常量,它们根据用户在网站中的导航方式而变化,我能看到的唯一常量是url的final/of,这就是为什么我提到它作为targety,您可以通过替换它将上述常量替换为变量。例如,我使用了常量。谢谢,抱歉,我可能需要补充的是,性别、类别、品牌和字符串只是示例,不是常量,它们会根据用户浏览网站的方式而变化,我能看到的唯一常量是url的final/of,这就是为什么我提到它作为目标,您可以通过替换将上述常量替换为变量。例如,我使用了常量。@Chobbit,我创建了一个可重用的函数,您可以在其中使用任何url
,并将任何string
发送到replace@Chobbit,我创建了一个可重用的函数,您可以在其中使用任何url
并向所有人发送任何string
,Shree的这个版本是我最适合我需要的版本,所以把这个作为答案。我已经把这个对我有用的更新版本放在了原来的帖子中,以帮助其他人。谢谢大家,这个来自Shree的版本是我最适合我需要的版本,所以把这个作为答案。我把这个对我有用的更新版本放在了原来的帖子中,以帮助其他人。