Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在不同条件下,替换stings[url参数]之间的值_Javascript_Jquery - Fatal编程技术网

Javascript 在不同条件下,替换stings[url参数]之间的值

Javascript 在不同条件下,替换stings[url参数]之间的值,javascript,jquery,Javascript,Jquery,我想根据某些条件修改url值 (1) 如果我的当前url是http://example.com 然后,我必须向url添加?order=new,为此,我编写了以下代码,它正在工作 var url=window.location.href; url=url+"order=new"; var url=window.location.href; if(url.indexOf("class=") >= 0){ url=url+"&order=new";

我想根据某些条件修改url值

(1) 如果我的当前url是
http://example.com

然后,我必须向url添加?order=new,为此,我编写了以下代码,它正在工作

var url=window.location.href;
       url=url+"order=new";
var url=window.location.href;
    if(url.indexOf("class=") >= 0){
        url=url+"&order=new";
    }
 var url=window.location.href;
   if (url.indexOf("order=") >=0){
        url= url.split("order=")[0]+"order=date";
                }
(2) 如果我的当前url是
http://example.com/?class=1

然后,我必须将&order=new添加到url中。为此,我编写了以下代码,它正在工作

var url=window.location.href;
       url=url+"order=new";
var url=window.location.href;
    if(url.indexOf("class=") >= 0){
        url=url+"&order=new";
    }
 var url=window.location.href;
   if (url.indexOf("order=") >=0){
        url= url.split("order=")[0]+"order=date";
                }
(3) 如果我的当前url是
http://example.com/?class=1&order=new
然后我必须将&order=date添加到url中,为此,我编写了以下代码,它正在工作

var url=window.location.href;
       url=url+"order=new";
var url=window.location.href;
    if(url.indexOf("class=") >= 0){
        url=url+"&order=new";
    }
 var url=window.location.href;
   if (url.indexOf("order=") >=0){
        url= url.split("order=")[0]+"order=date";
                }
(4) 如果我当前的url是
http://example.com/?class=anyvalue&div=anyvalue&order=anyvalue
http://example.com/?class=anyvalue&order=anyvalue&div=anyvalue
。这里如何替换订单值


请支持

就我所能说的而言,我认为您希望:

var url = 'http://example.com/?class=anyvalue&order=anything&div=anyvalue';
if (url.indexOf("order=") >= 0 && url.indexOf('div=') >= 0){
    newUrl = url.replace('order=anything', 'order=456');
}
使用
replace()
函数。将
url
更改为您正在使用的内容。

使用

现在可以搜索URL的参数了

var order = urlObj.searchParams.get("order");
if ( !order )
{
   //url +=  url.contains( "?" ) ? "&order=new" : "?order=new";
   //contains didnt work so used includes instead
   url +=  url.includes( "?" ) ? "&order=new" : "?order=new";  
}
同样,您也可以替换值

var order = urlObj.searchParams.get("order");
if ( order )
{
   urlObj.searchParams.set("order", "123");
}
console.log( urlObj.href );
更新: 已将JSFIDLE添加到您的解决方案:)。。。

用什么替换订单?如果您想添加
order=new
order=date
?一个键只能有一个值!你需要更改我知道的密钥的名称。现在我只想添加order=new,但这里的问题是anyvalue是随机值或随机文本。例如,你明白我的意思吗?@abilasher上述解决方案是好的和可靠的。我的方法最简单。让我在那里加溶液。酷。快乐编码。对于其他用户,这不是上述解决方案:)。帮他弄明白你很好。谢谢你的帮助。这是因为我的问题不清楚,这就是问题产生的原因。不,因为我困惑。你能看看bipen解决方案和我为该解决方案写的评论吗?这是一个很好的解决方案。我不知道
新URL()
对象+1.@gurvinder372添加了小提琴link@abilasher检查控制台的输出。将
set()
中的字符串替换为urlObj.searchParams.set(“order”,“123”)之后需要的任何字符串;如何将此url保存到变量?