我有一些JS目前获取网站的URL,将URL拆分为特定字符串并将其存储在变量中
然后我有一个IF语句,根据该字符串将添加一个类到我的链接。但是,我无法使IF语句起作用。即使满足条件,它似乎也会采取行动。
非常感谢任何帮助!
https://codepen.io/Carrot654321/pen/YazXBv - 此处代码
const navLinks = document.querySelectorAll("nav ul li a")
var url = window.location.href;
url = url.split("/");
if (url[2] = "s.codepen.io") {
navLinks[1].classList.add("active");
}
else {
navLinks[3].classList.add("active");
}
答案 0 :(得分:4)
const navLinks = document.querySelectorAll("nav ul li a")
var url = window.location.href;
url = url.split("/");
if (url[2] === "s.codepen.io") {
navLinks[1].classList.add("active");
}
else {
navLinks[3].classList.add("active");
}
使用===
代替=
并且不使用==
,因为您会遇到奇怪的行为,因为==
在比较之前会进行类型转换。
答案 1 :(得分:1)
我怀疑这是因为你有一个等于而不是三等于。
if (url[2] = "s.codepen.io")
这是分配值而不是比较它所以它总是返回true。
应该是:
if (url[2] === "s.codepen.io")