代码之家  ›  专栏  ›  技术社区  ›  physicsboy

根据条件添加或删除类

  •  0
  • physicsboy  · 技术社区  · 4 年前

    classList 基于变量的真实性。然而,我用一种似乎很迟钝的方式:

    if (myConditionIsMet) {
      myEl.classList.add("myClass");
    } else {
      myEl.classList.remove("myClass");
    }
    

    有没有一种方法可以让这部电影更性感,更具动感,叫做 add / remove 链式函数,例如带有条件运算符的函数,例如:

    myEl.classList.{myConditionIsMet ? add('myClass') : remove('myClass')};
    

    2 回复  |  直到 4 年前
        1
  •  2
  •   edo.n    4 年前

    你的伪代码是js

    myEl.classList.{myConditionIsMet ? add('myClass') : remove('myClass')};
    

    可以翻译成实际的js

    myEl.classList[myConditionIsMet ? 'add' : 'remove']('myClass');
    

    这不是特别可读,但完全符合你所描述的。

    为了便于阅读,我将查看 toggle 方法

        2
  •  2
  •   Sebastian Simon SamB    4 年前

    toggle 方法论 .classList 这需要第二个论点( force ). 此布尔参数本质上接受一个条件,如果为true,则添加类;如果为false,则删除类。

    myEl.classList.toggle("myClass", myConditionIsMet);