addClass(undefined) 与 addClass(null)

addClass(undefined) vs. addClass(null)

有时我想在某些情况下在链中添加 class。什么值在语义上最适合添加 no class?

示例:

$(".element").doSomething().addClass(condition ? "special-class" : undefined).doSomethingElse();

或者:

$(".element").doSomething().addClass(condition ? "special-class" : null).doSomethingElse();

改用$.toggleClass()

$(".element").doSomething().toggleClass("special-class",condition).doSomethingElse();

正如ruakh提到的那样,有区别。如果 condition 是假的,它实际上会删除之前存在的 class。按照你的逻辑,class只能加,不能删。

jQuery 像这样检查输入参数:

typeof input == "string"

因此 nullundefined 的行为方式相同