JavaScript IF语句更改链接类

时间:2018-03-08 17:16:58

标签: javascript jquery html

我有一些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"); 

     }

2 个答案:

答案 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"); 

     }

使用===代替=并且不使用==,因为您会遇到奇怪的行为,因为==在比较之前会进行类型转换。

看看这个 - https://stackoverflow.com/questions/359494/which-equals-operator-vs-should-be-used-in-javascript-comparisons

答案 1 :(得分:1)

我怀疑这是因为你有一个等于而不是三等于。

    if (url[2] = "s.codepen.io") 

这是分配值而不是比较它所以它总是返回true。

应该是:

    if (url[2] === "s.codepen.io")