使用网址应用if语句

时间:2018-09-28 16:12:59

标签: 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(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的末尾带有#,有时却没有。

任何帮助都会很好。谢谢。

3 个答案:

答案 0 :(得分:3)

您缺少一个比较:

 if(
  getPrefixBySlash[4] === "group?course=111#" || 
  getPrefixBySlash[4] === "group?course=111"
 ) {

如果省略===,它将使用字符串作为布尔值,并且非空字符串是真实的,因此它将始终进入true分支。

PS:您不能调用变量。

答案 1 :(得分:1)

此行实际上没有执行任何操作。

// call the variable
getUrl;

如果要打印变量,请使用console.log(getURl);

此if语句错误。

if(getPrefixBySlash[4] === "group?course=111#" || "group?course=111") {

您需要将整个语句放在||之后。

例如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"); 
};

答案 2 :(得分:0)

您无法使用getPrefixBySlash[4] === "group?course=111#" || "group?course=111"

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

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

}