我有一个网站的段落文本在每个页面上都相同。但是我需要为一个特定页面更改它。我设置了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的末尾带有#,有时却没有。
任何帮助都会很好。谢谢。
答案 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])){
}