Javascript 使用url应用if语句

Javascript 使用url应用if语句,javascript,jquery,Javascript,Jquery,我有一个网站,有一段文字,是在每个页面上相同。但是我需要为一个特定的页面更改它。我已经将JS设置为将段落中的文本更改为 // set up variable to get url var getUrl = window.location.href; //split the url var getPrefixBySlash = getUrl.split('/'); // call the variable getUrl; if(getP

我有一个网站,有一段文字,是在每个页面上相同。但是我需要为一个特定的页面更改它。我已经将JS设置为将段落中的文本更改为

    // set up variable to get url
    var getUrl = window.location.href;
    //split the url 
    var getPrefixBySlash = getUrl.split('/');

    // call the variable
    getUrl;

    if(getPrefixBySlash[4] === "group?course=111#" || "group?course=111") {
         console.log("it is equal");
    } else { 
         console.log("it is not equal"); 
    };
当我在以
group?course-101

比较有什么问题吗

注意:之所以有or语句,是因为有时url结尾有#,有时没有


任何帮助都是好的。谢谢

您缺少一个比较:

 if(
  getPrefixBySlash[4] === "group?course=111#" || 
  getPrefixBySlash[4] === "group?course=111"
 ) {
如果省略
==
,它将使用该字符串作为布尔值,并且非空字符串是真实的,因此它总是进入真实分支


PS:您不能调用变量。

这一行实际上没有做任何事情

// call the variable
getUrl;
如果要打印变量,请使用
console.log(getURl)

这个if语句是错误的

if(getPrefixBySlash[4] === "group?course=111#" || "group?course=111") {
您需要将整个语句放在
|
后面

e、 g
if(getPrefixBySlash[4]==“group?course=111”|“| getPrefixBySlash[4]==“group?course=111”)
(注意添加的“getPrefixBySlash==”)

解决方案: 您可以使用variable.contains(“someString”)检查URL是否包含所需的字符串。

示例

// set up variable to get url
var getUrl = window.location.href;
//split the url 
var getPrefixBySlash = getUrl.split('/');

// print the variable
console.log(getUrl);

if(getPrefixBySlash[4].contains("group?course=111") 
{
     console.log("it is equal");
} 
else 
{ 
     console.log("it is not equal"); 
};

您无法使用
GetPrefixByFlash[4]=“group?course=111”;“group?course=111”

但您可以尝试将多个字符串放在字符串数组中,然后使用
includes
函数

if(["group?course=111#","group?course=111"].includes(getPrefixBySlash[4])){

}

调用变量是什么意思?该行没有任何作用。它返回url的位置…请在浏览器中尝试。您应该可以获取此页面的url。如果
可能不符合您的要求,则该
。第一个检查评估变量是否等于已发布的字符串,但不管怎样,它都将返回
true
,因为您声明了一个非空字符串。除了@dustytrash试图说的:您已经初始化了变量,您不必“调用”它来赋值。
GetPrefixByFlash[4]==“group?course=111#“| | group?course=111”
应该是
GetPrefixByFlash[4]==“group?course=111#| | GetPrefixByFlash[4]==“group?course=111”
-围绕
|
(和
&&
)的每一部分都被视为自己的“if”子句,它们不会组合为
左==右1 | |右2
它是
左==右1。。。或left==right2
“返回url的位置”在控制台中,技术上也在脚本中,但您没有在任何地方使用返回的值。谢谢Jonas,我认为这对我很有用。不知道为什么每个人都回答,但给了我一个否定的回答…————这是一个合理的问题。仍然没有让它工作,但这有帮助。我想还有其他问题…谢谢。事实上,我试过其他人的建议,但都不起作用。我确实有一些其他对象导致结果出现问题,所以这是另一个问题。再次感谢,我最终使用了它,因为它的代码也更少。