JavaScript三元运算符:document.body.className = document.body.className!=“ cls”? “ cls”:“”;?

时间:2019-12-11 13:20:10

标签: javascript

这是代码

from KitaDAO import KitaDAO

thisDAO = KitaDAO()
kitas = thisDAO.getKitas()

def checkBetreuung(kita, kinderIDListe):
    KinderObjektListe = thisDAO.getKinder()

for x in range(1,4):
    for i in kitas:
        warteliste = thisDAO.getKindOnWarteliste(i.getID(), x)
        checkBetreuung(i, warteliste)

我可以理解“ xx?xx:xx;”,但是什么是“ document.body.className = document.body.className!=” cls” \”。我不知道它是如何工作的。 我的想法是:if(document.body.className = cls)返回ture,如果!=返回flase。

完整代码

document.body.className = document.body.className != "cls" ? "cls" : "";

2 个答案:

答案 0 :(得分:2)

上面的代码只是三元运算符的常规用法。我根据运算符的执行顺序放置了()

my$("btn").onclick = function () {
    document.body.className = (document.body.className != "cls") ? "cls" : "";

  };

无论何时触发onclick事件。跟随发生。

  • 如果正文没有类名"cls",它将其更改为"cls"
  • 如果其已经"cls"更改为""

这只是一种切换className黑白"cls"""

的方法

注意:永远不要直接更改元素的className。它将删除所有其他类。您应该Element.classList.add()Element.classList.remove()添加和删除类。但是,在这种情况下,您可以使用Element.classList.toggle

my$("btn").onclick = function () {
   document.body.classList.toggle('cls');
};

答案 1 :(得分:0)

如果document.body.className'cls',则它将删除该类;如果它不是'cls',则将其设置为'cls'。很简单。