addClass(undefined)与addClass(null)

时间:2015-02-21 01:03:06

标签: javascript jquery null undefined chain

有时我想在某种情况下在链中添加类。在语义上最合适的是什么值不添加类?

示例:

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

或者:

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

2 个答案:

答案 0 :(得分:4)

改为使用$.toggleClass()

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

正如ruakh提到的那样,存在差异。如果condition是假的,它实际上将删除该类,如果它之前存在。根据您的逻辑,只能添加类,而不是删除。

答案 1 :(得分:0)

jQuery像这样检查输入参数:

typeof input == "string"

null undefined 的行为方式相同