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();
$(".element").doSomething().toggleClass("special-class",condition).doSomethingElse();
正如ruakh提到的那样,有区别。如果 condition
是假的,它实际上会删除之前存在的 class。按照你的逻辑,class只能加,不能删。
jQuery 像这样检查输入参数:
typeof input == "string"
因此 null 或 undefined 的行为方式相同
有时我想在某些情况下在链中添加 class。什么值在语义上最适合添加 no class?
示例:
$(".element").doSomething().addClass(condition ? "special-class" : undefined).doSomethingElse();
或者:
$(".element").doSomething().addClass(condition ? "special-class" : null).doSomethingElse();
$(".element").doSomething().toggleClass("special-class",condition).doSomethingElse();
正如ruakh提到的那样,有区别。如果 condition
是假的,它实际上会删除之前存在的 class。按照你的逻辑,class只能加,不能删。
jQuery 像这样检查输入参数:
typeof input == "string"
因此 null 或 undefined 的行为方式相同